求助如何编写这个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;
}