/*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 關注
- 1324 瀏覽
添加回答
舉報
0/150
提交
取消