/*1、输入5位同学的一组信息,
包括学号、姓名、数学成绩、计算机成绩,
求得每位同学的平均分和总分,然后按照总分从高到低排序。*/
#include<stdio.h>
int main()
{
int i;
struct Student//声明结构体类型
{
int num;
char name[20];
float mathScore;
float computerScore;
float sum;
float average;
};
struct Student stu[5],t;//定义结构体数组stu,和结构体变量t
for(i=0;i<5;i++)//录入信息,并计算总分和平均分
{
printf("---请输入第%d个同学的信息---\n",i+1);
scanf("%d,%s,%f,%f",&stu[i].num,&stu[i].name,&stu[i].mathScore,&stu[i].computerScore);
printf("结果:\n");
stu[i].sum=stu[i].mathScore+stu[i].computerScore;
printf("第%d个同学的总分为:%4.2f\n",i+1,stu[i].mathScore+stu[i].computerScore);
stu[i].average=stu[i].sum/2;
printf("第%d个同学的平均分为:%4.2f\n",i+1,stu[i].average);
}
for(i=0;i<5;i++)//进行升序
{
if(stu[i].sum<stu[i+1].sum)
t=stu[i],stu[i]=stu[i+1],stu[i+1]=t;
}
for(i=0;i<5;i++)//排序后依次输出
{
printf("%d-%s-%f-%f",stu[i].num,stu[i].name,stu[i].mathScore,stu[i].computerScore);
}
return 0;
}
1 回答
已采纳
望远
TA贡献1017条经验 获得超1032个赞
scanf("%d,%s,%f,%f",&stu[i].num,&stu[i].name,&stu[i].mathScore,&stu[i].computerScore);//这里的问题
scanf("%d,%s,%f,%f",&stu[i].num,stu[i].name,&stu[i].mathScore,&stu[i].computerScore);//name是数组名本就是一个地址
- 1 回答
- 0 关注
- 1289 浏览
添加回答
举报
0/150
提交
取消