华北水利水电C 语言实验11,华北水利水电大学C语言实验11.doc
華北水利水電大學(xué)C語(yǔ)言實(shí)驗(yàn)11
C語(yǔ)言程序設(shè)計(jì)實(shí)驗(yàn)報(bào)告
實(shí)驗(yàn)11、結(jié)構(gòu)體程序設(shè)計(jì)
班級(jí) 2013156 學(xué)號(hào) 201315613 姓名 吳浩
【實(shí)驗(yàn)?zāi)康摹?/p>
(1)掌握結(jié)構(gòu)體類型的概念、定義和使用;
(2)掌握結(jié)構(gòu)體數(shù)組、結(jié)構(gòu)體指針的定義和使用;
【實(shí)驗(yàn)內(nèi)容及步驟】
1、輸入5位同學(xué)的一組信息,包括學(xué)號(hào)、姓名、數(shù)學(xué)成績(jī)、計(jì)算機(jī)成績(jī),求得每位同學(xué)的平均分和總分,然后按照總分從高到低排序,排序用函數(shù)實(shí)現(xiàn)。
【程序代碼】:
#include
#define N 5
struct Student
{int num;char name[20];float score[2];float aver;float add;};
int main()
{int i;
void input(struct Student stu[]);
void sort(struct Student stu[]);
struct Student stu[N],*p=stu;
input(p);
printf("各個(gè)同學(xué)的平均成績(jī)和總成績(jī)分別是:\n");
for(i=0;i
{printf("%s\n%5.2f\n%5.2f\n",stu[i].name,stu[i].aver,stu[i].add);
printf("\n");}
sort(p);printf("按成績(jī)高低排序后為:\n");for(i=0;i
printf("學(xué)號(hào):%d 姓名:%s 總成績(jī):%5.2f\n",stu[i].num,stu[i].name,stu[i].add);
return 0;}
void input(struct Student stu[])
{int i;
printf("請(qǐng)輸入各個(gè)學(xué)生的信息:學(xué)號(hào)、姓名、兩門課的成績(jī):\n");
for(i=0;i
{scanf("%d%s%f%f",&stu[i].num,stu[i].name,&stu[i].score[0],&stu[i].score[1]);stu[i].aver=(stu[i].score[0]+stu[i].score[1])/2;
stu[i].add=(stu[i].score[0]+stu[i].score[1]);
}}
void sort(struct Student stu[])
{struct Student t;
int i,j,k;
for(i=0;i
{k=i;
for(j=i+1;j
if(stu[j].add>stu[k].add)
k=j;
t=stu[k];stu[k]=stu[i];stu[i]=t;
}}
【運(yùn)行結(jié)果】
2.定義一個(gè)結(jié)構(gòu)體變量(包括年、月、日)。編寫一個(gè)函數(shù)days,計(jì)算該日期在本年中是第幾天(注意閏年問(wèn)題)。由主函數(shù)將年月日傳遞給days函數(shù),計(jì)算之后,將結(jié)果傳回到主函數(shù)輸出。
【程序代碼】
#include
typedef struct
{ int year;
int month;
int day;}date;
int days(date d)
{ int num = 0;
int m, da, i;
if ((d.year %4 == 0 && d.year %100!=0)||(d.year % 400 == 0))
{
for (m = 1; m <= d.month ; m++)
{
if (m == 2)
da = 29;
else if (m==4||m==6||m==8||m==11) da = 30;
else da = 31; for (i = 1; i <= da;i++)
{
num++;
if ( m == d.month && i == d.day )
return num; } } }
else
{
for (m = 1; m <= d.month ; m++)
{
if (m == 2) da = 28;
else if (m==4||m==6||m==8||m==11)
da = 30;
else
da = 31;
for (i = 1; i <= da;i++)
{
num++;
if ( m == d.month && i == d.day )
return num;
}}}}
int main()
{ d
總結(jié)
以上是生活随笔為你收集整理的华北水利水电C 语言实验11,华北水利水电大学C语言实验11.doc的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: “召回之王”名不虚传!奔驰上百万辆车集体
- 下一篇: wince的调试串口作为普通串口使用