求助如何编写这个C语言代码,谢谢各位了。
要求如下:可以输出10个以上学生的成绩、学号、姓名
对应五门科目(可输入任意科目名)
以二维表格的形式呈现出来他们的成绩,并在二维表格的行尾统计总分,列尾统计平均分
以此来形成一个成绩单
实在有点不会,拜托大神帮助!!!
[此贴子已经被作者于2019-11-19 08:04编辑过]
#include <stdio.h> #include <string.h> struct chengji { char name[20]; float math; float chinese; float english; float chemistry; float physics; float sum; int id; }; int main() { struct chengji list[1000]={0}; int n,i; printf("请输入学生总数:"); scanf("%d",&n); for(i=1;i<=n;i++) { printf("\n请输入第%d个学生姓名及成绩:",i); scanf("%s%d%f%f%f%f%f",list[i].name,&list[i].id,&list[i].math,&list[i].chinese,&list[i].english,&list[i].chemistry,&list[i].physics); list[i].sum=list[i].math+list[i].chinese+list[i].english+list[i].chemistry+list[i].physics; list[0].math+=list[i].math; list[0].chinese+=list[i].chinese; list[0].english+=list[i].english; list[0].chemistry+=list[i].chemistry; list[0].physics+=list[i].physics; } printf("\t姓名\t学号\t数学\t语文\t英语\t化学\t物理\t总分\n"); for (i=1;i<=n;i++) { printf("\t%s\t%d\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f\n",list[i].name,list[i].id,list[i].math,list[i].chinese,list[i].english,list[i].chemistry,list[i].physics,list[i].sum); } printf("平均分:\t\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f\t\n",list[0].math,list[0].chinese,list[0].english,list[0].chemistry,list[0].physics); return 0; }
#include <stdio.h> #include <string.h> struct chengji { char name[20]; float math; float chinese; float english; float chemistry; float physics; float sum; float average; int id; }; int main() { struct chengji list[1000]={0}; int n,i; printf("请输入学生总数:"); scanf("%d",&n); for(i=1;i<=n;i++) { printf("\n请输入第%d个学生姓名、学号及成绩:(先回车后每输一个成绩换行)",i); scanf("%s%d%f%f%f%f%f",list[i].name,&list[i].id,&list[i].math,&list[i].chinese,&list[i].english,&list[i].chemistry,&list[i].physics); list[i].sum=list[i].math+list[i].chinese+list[i].english+list[i].chemistry+list[i].physics; list[0].math+=list[i].math; list[0].chinese+=list[i].chinese; list[0].english+=list[i].english; list[0].chemistry+=list[i].chemistry; list[0].physics+=list[i].physics; list[i].average=list[i].sum/5; } printf("\t姓名\t学号\t数学\t语文\t英语\t化学\t物理\t总分\t平均分\n"); for (i=1;i<=n;i++) { printf("\t%s\t%d\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f\%1f\n",list[i].name,list[i].id,list[i].math,list[i].chinese,list[i].english,list[i].chemistry,list[i].physics,list[i].sum/5, list[i].average); } printf("平均分:\t\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f\t\n",list[0].math/n,list[0].chinese/n,list[0].english/n,list[0].chemistry/n,list[0].physics/n); return 0; }