导读 大家好,小阳来为大家解答以上的问题。xueshifu,xues这个很多人还不知道,现在让我们一起来看看吧!1、改了很多,对照看看吧。2、充分说明写
大家好,小阳来为大家解答以上的问题。xueshifu,xues这个很多人还不知道,现在让我们一起来看看吧!
1、改了很多,对照看看吧。
2、充分说明写的东西有多不可靠(错多),自己有个编译环境是多重要。
3、#include "Stdio.h" struct xuesheng { char mingzi[20]; int xuehao; int score1; int score2; int score3; int total; float average; }; struct xuesheng input() { struct xuesheng stu; scanf("%s",stu.mingzi); scanf("%d",&stu.xuehao); scanf("%d",&stu.score1); scanf("%d",&stu.score2); scanf("%d",&stu.score3); stu.total=0; stu.average=0; return(stu); } struct xuesheng average(struct xuesheng a) { struct xuesheng b; b=a; b.total=b.score1+b.score2+b.score3; b.average=b.total/3.0; return(b); } struct xuesheng maximum(struct xuesheng* q, int y) { int a,b,c; struct xuesheng d; d=q[0]; for(a=0;ad.total) d=q[a]; return(d); }void main() { int a,b; float f=0; struct xuesheng xues[10]; for(a=0;a<10;a++) { b=1+a; printf("shu ru %d wei xue sheng de xin xi",b); xues[a]=input(); } for(a=0;a<10;a++) {xues[a]=average(xues[a]);} for(a=0;a<10;a++) { f=f+xues[a].score1+ xues[a].score2+ xues[a].score3; } f=f/3.0/10; struct xuesheng xueshengmax; xueshengmax=maximum(xues,10); printf("no. name score1 score2 score3 total"); for(a=0;a<10;a++) printf("%4d %s %4d %4d %4d %4d %4f",xues[a].xuehao,xues[a].mingzi,xues[a].score1,xues[a].score2,xues[a].score3,xues[a].total,xues[a].average); printf("average=%f",f); printf("the highest score:%s,score total:%4d",xueshengmax.mingzi,xueshengmax.total); getchar(); }/*学生1/5信息:学号 : 33098姓名 : 李大海英语 : 80高数 : 65物理 : 70学生2/5信息:学号 : 36368姓名 : 宋立柱英语 : 67高数 : 85物理 : 60学生3/5信息:学号 : 33688姓名 : 王莹莹英语 : 90高数 : 98物理 : 89学生4/5信息:学号 : 90887姓名 : 王曙光英语 : 80高数 : 60物理 : 77学生5/5信息:学号 : 39087姓名 : 刘福堂英语 : 90高数 : 67物理 : 60序号 学号 姓名 英语 高数 物理 总成绩 平均成绩================================================================1 33098 李大海 80.00 65.00 70.00 215.00 71.672 36368 宋立柱 67.00 85.00 60.00 212.00 70.673 33688 王莹莹 90.00 98.00 89.00 277.00 92.334 90887 王曙光 80.00 60.00 77.00 217.00 72.335 39087 刘福堂 90.00 67.00 60.00 217.00 72.33================================================================成绩最好的学生信息:学号:33688 姓名:王莹莹 总分:277.00请按任意键继续. . .*/#include #define N 5typedef struct student {long id;char name[30];double score[5];}STUMSG;void Input(STUMSG s[], int n) {int i;for(i = 0; i < n; ++i) {printf("学生%d/%d信息:",i + 1,n);printf("学号 : ");scanf("%d",&s[i].id);printf("姓名 : ");scanf("%s",s[i].name);printf("英语 : ");scanf("%lf",&s[i].score[0]);printf("高数 : ");scanf("%lf",&s[i].score[1]);printf("物理 : ");scanf("%lf",&s[i].score[2]);s[i].score[3] = s[i].score[0] + s[i].score[1] + s[i].score[2];s[i].score[4] = s[i].score[3]/3.0;}} void PrintMsg(STUMSG s[], int n) {int i,j;printf("序号学号姓名英语高数物理总成绩平均成绩");for(i = 0; i < 64; ++i) printf("=");printf("");for(i = 0; i < n; ++i) {printf("%d%u%s",i + 1,s[i].id,s[i].name);for(j = 0; j < 5; ++j)printf("%.2lf",s[i].score[j]);printf("");}for(i = 0; i < 64; ++i) printf("=");printf("");}int Maximum(STUMSG s[], int n) {int i,max = 0;for(i = 1; i < n; ++i)if(s[i].score[3] > s[max].score[3]) max = i;return max;}int main() {int max;STUMSG s[N];Input(s,N);PrintMsg(s,N);max = Maximum(s,N);printf("成绩最好的学生信息:");printf("学号:%d 姓名:%s 总分:%.2lf",s[max].id,s[max].name,s[max].score[3]);printf("");return 0;}你这个程序里有几个问题。
4、首先,你的输入函数不能这么调用。
5、正在帮你修改程序我也写过这样的成绩管理系统不过我有文件作为储存:你能不能发你的错误提示给我看看。
本文到此分享完毕,希望对大家有所帮助。
标签:
版权声明:本文由用户上传,如有侵权请联系删除!