华北水利水电C 语言实验11,华北水利水电大学C语言实验11.doc
華北水利水電大學(xué)C語言實驗11
C語言程序設(shè)計實驗報告
實驗11、結(jié)構(gòu)體程序設(shè)計
班級 2013156 學(xué)號 201315613 姓名 吳浩
【實驗?zāi)康摹?/p>
(1)掌握結(jié)構(gòu)體類型的概念、定義和使用;
(2)掌握結(jié)構(gòu)體數(shù)組、結(jié)構(gòu)體指針的定義和使用;
【實驗內(nèi)容及步驟】
1、輸入5位同學(xué)的一組信息,包括學(xué)號、姓名、數(shù)學(xué)成績、計算機(jī)成績,求得每位同學(xué)的平均分和總分,然后按照總分從高到低排序,排序用函數(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("各個同學(xué)的平均成績和總成績分別是:\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("按成績高低排序后為:\n");for(i=0;i
printf("學(xué)號:%d 姓名:%s 總成績:%5.2f\n",stu[i].num,stu[i].name,stu[i].add);
return 0;}
void input(struct Student stu[])
{int i;
printf("請輸入各個學(xué)生的信息:學(xué)號、姓名、兩門課的成績:\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.定義一個結(jié)構(gòu)體變量(包括年、月、日)。編寫一個函數(shù)days,計算該日期在本年中是第幾天(注意閏年問題)。由主函數(shù)將年月日傳遞給days函數(shù),計算之后,將結(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的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: “召回之王”名不虚传!奔驰上百万辆车集体
- 下一篇: wince的调试串口作为普通串口使用