学生成绩统计C语言实现

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1. 题目; (1)有10个学生,每个学生的数据包括学号、

姓名、3门课的成绩,从键盘输入10个学生数据,要

求打印出3门课总平均成绩,以及最高分的学生数据

(包括学号、姓名、3门课的成绩、平均分数)。

2. 程序清单;#include

#define N 10

struct student

{char num[6];

char name[8];

float score[3];

float aver;

}stu[N];

void main()

{int i,j,maxi;

float sum,max,average;

for (i=0;i

{printf("please input scores of

sdudent%d:\n",i+1);

printf("NO.");

scanf("%s",stu[i].num);

printf("\nname:");

scanf("%s",stu[i].name);

for(j=0;j<3;j++)

{ printf("scores%d:",j+1);

scanf ("%f",&stu[i].score[j]);

}

}

average=0;max=0;maxi=0;

for (i=0;i

{ sum=0;

for (j=0;j<3;j++)

sum+=stu[i].score[j];

stu[i].aver=sum/3.0;

average+=stu[i].aver;

if(sum>max)

{max=sum;

maxi=i;}

}

average/=N;

printf(" No. name score1 score2 score3 average\n");

for(i=0;i

{printf("%5s%10s",stu[i].num,stu[i].name);

for(j=0;j<3;j++)

printf("%9.2f",stu[i].score[j]);

printf(" %9.2f\n",stu[i].aver);

}

printf ("average=%5.2f\n",average);

printf("The highest score is :

student%s,%s\n",stu[maxi].num,stu[maxi].name);

printf("His scores are:%5.2f %5.2f %5.2f average:%5.2f

\n",stu[maxi].score[0],stu[maxi].score[1],

stu[maxi].score[2],stu[maxi].aver);

}

3. 运行结果;

4. 对运行情况所作的分析,以及本次调试程序所取得的

经验。如果程序未能通过,则分析其原因。

5.实验报告书封面参见附录。

(1)1. 题目; 输入并运行下面程序

#include

union data

{int i[2];

float a;

long b;

char c[4];

}u;

void main( )

{

scanf(“%d %d”,&u.i[0]),&u.i[1]);

printf(“I[0]=%d,I[1]=%d a=%f b=%ld c[0]=%c c[1]=%c c[2]=%c c[3]=%c”,u.i[0], u.i[1],u.a,u.b,u.c[0],

u.c[1], u.c[2], u.c[3]);

}

输入二个整数10000,20000给u.i[0]和u.i[1],分析运

行结果。

然后将scanf语句改为:

scanf(“%ld”,&u.b);

将scanf语句改为:scanf(“%ld”,&u.b);

对运行情况所作的分析,以及本次调试程序所取得的经验。如果程序未能通过,则分析其原因。

5.实验报告书封面参见附录。

相关文档
最新文档