学生成绩统计C语言实现
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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.实验报告书封面参见附录。