如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
《程序设计基础(C语言)》课程设计鲁东大学学院:班级:学号:姓名:教师:日期:_题目名称:学生成绩的简单处理程序算法分析:先定义一结构体数组,输入10个学生的学号、姓名、数学成绩,语文成绩、英语成绩,并存入文件中。利用循环和选择结构输出单科成绩最好的学生的信息。利用自定义函数按平均分从高到低对10位学生进行排序并按此次序输出各位同学的信息。通过对学生各成绩的分析可以达到对学生近期学习情况的了解。流程设计:。。。。。NYYYNNN开始SHURUstu[i].number,stu[i].name,stu[i].score[0],stu[i].score[1].stu[i].score[2]i=i+1i<10i=0i=0i<3j=0j<10Maxsore[i]<stu[j].score[i]Y。。。。。YYNNMaxscore[i]=stu[j].score[i]输出i学科成绩最高的学生信息i=i+1i<10i=0j=i+1Stu[i].average<stu[j].averagetemp=stu[i],stu[i]=stu[j],stu[j]=temp输出stu[i]学生的信息结束代码设计:#include<stdio.h>#include<stdlib.h>#include<string.h>/*1)定义一个结构体数组,存放10个学生的学号,姓名,三门课的成绩*/structstudent{charname[10];charnumber[10];intscore[3];floataverage;}stu[10],temp;voidsort(structstudent*x,intn)/*自定义函数用于按平均分排序*/{inti,j;structstudenttemp;for(i=0;i<n-1;i++)for(j=i+1;j<n;j++)if(stu[i].average<stu[j].average)temp=stu[i],stu[i]=stu[j],stu[j]=temp;}intmain(){inti,j,k,sum[10],maxscore[3]={0},m=0,maxave=0;/*2)从键盘输入10个学生的以上内容*/FILE*fp;for(i=0;i<10;i++){printf("请输入第%d个学生numbernamemathchineseEnglish:\n",i+1);scanf("%s%s%d%d%d",stu[i].number,stu[i].name,&stu[i].score[0],&stu[i].score[1],&stu[i].score[2]);sum[i]=0;sum[i]=stu[i].score[0]+stu[i].score[1]+stu[i].score[2];stu[i].average=sum[i]/3.0;}fp=fopen("E:\\student.txt","w");for(i=0;i<10;i++){if(fwrite(&stu[i],sizeof(structstudent),1,fp)!=1)printf("filewriteerror\n");}fclose(fp);fp=fopen("E:\\student","r");/*3)输出单门课成绩最高的学生的学号、姓名、以及该门课程的成绩*/for(i=0;i<3;i++){for(j=0;j<10;j++){if(maxscore[i]<stu[j].score[i]){maxscore[i]=stu[j].score[i];m=j;}}if(i==0)printf("输出数学成绩最高的学生的学号、姓名、以及该门课程的成绩\n");if(i==1)printf("输出语文成绩最高的学生的学号、姓名、以及该门课程的成绩\n");if(i==2)printf("输出英语成绩最高的学生的学号、姓名、以及该门课程的成绩\n");printf("%6s%-10s%7d\n",stu[m].number,stu[m].name,maxscore[i]);}/*4)输出三门课程的平均分数最高的学生的学号、姓名及其平均分*/for(i=0;i<10;i++){if(maxave<=sum[i]){