结构体应用:计算总分及最高分(是错误的)-创新互联
本题目要求先输入正整数N,然后输入N个类型为结构体stud的数组元素,计算每个学生的总分,输出每个学生的学号、姓名、三门课的成绩及总分;计算全部成绩的平均分并输出;输出总分最高同学的各项信息。
struct stud {
int num; //学号
char name[10]; //姓名
int score[3]; //3门课成绩
int sum; //总分
};
先输入不超过10的一个正整数N,然后每行输入一个学生的信息(学号、姓名、三门课成绩)。学号在整数范围内,姓名长度小于10个字符。
输出格式:首先输出每个学生的信息(包括学号、姓名、三门课成绩、总分),数据项之间空1格,每人一行;再输出全部成绩的平均分;最后输出总分最高(假设没有相同总分)同学的学号、姓名、三门课成绩及总分,数据项之间空1格。
(我自己写出来的相似答案,可却是错误的,总出现参数错误,有人发现了错误了能告知一下么,同样从别人那儿学习了不少,这个可能是需要用C++写,我是用的C语言,)
//代码声明上应该出现了问题可我具体不知道哪儿有问题,等我以后学会了再看应该是懂得
//编译器DEV.C++
#include#includestruct stud
{
int num;//学号
char name[10];//姓名
int score[3]; //用了数组
int sum;//总成绩
};
int main()
{
struct stud st[1000];//声明结构体数组
int i;
double sum=0;
double max=0;
int N;
scanf("%d",&N);//输入几
printf("请输入学号、姓名、三门课成绩\n");
for (i = 0; i< N; i++)//这个 forx循环是为了输入序号名字成绩
{
scanf("%d %s",&st[i].num,&st[i].name);
scanf("%d %d %d",&st[i].score[0],&st[i].score[1],&st[i].score[2]);
//数组[0][1][2]
st[i].sum = st[i].score[0]+st[i].score[1]+st[i].score[2];//把分数加一起
sum += st[i].sum;//把总分再相继一起
}
double avg = sum/(N*3);//总平均分
int j,k;
for(i=0;ist[k].sum)
max=st[j].sum;
else
max=st[k].sum;
}
}
for(j=0;j
2
请输入学号、姓名、三门课成绩
01 wang 9 3 4
02 jia 83 5 6
1 wang 9 3 4 16
2 jia 83 5 6 94
总平均分=18.333333
最高分者:2 jia 83 5 6 94
--------------------------------
Process exited after 25.07 seconds with return value 0
请按任意键继续. . .
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧
文章名称:结构体应用:计算总分及最高分(是错误的)-创新互联
网页路径:http://azwzsj.com/article/dhcego.html