输入n个学生的成绩c语言,c语言帮忙改错!输入n个学生的成绩信息,按照每个学生的个人平均成绩从高到低输出他们的信息...

满意答案

02ae427d08e371d7e90d5b995e828d6d.png

ncug0618

推荐于 2018.04.19

02ae427d08e371d7e90d5b995e828d6d.png

采纳率:46%    等级:10

已帮助:566人

#include

#include

/**c语言帮忙改错!输入n个学生的成绩信息,按照每个学生的个人平均成绩从高到低输出他们的信息*/

struct student

{

int num;

char name[10];

float score[3];

double average;

};

int main()

{

int i,j,n,index;

struct student m; //m应定义为相同结构体类型才能替换

struct student s[50];

printf("Input n=");

scanf("%d",&n);

for(i=0; i

{

printf("num:");

scanf("%d",&s[i].num);

printf("name:");

scanf("%s",s[i].name);

for(j=0; j<3; j++)

{

printf("第%d门score:",j+1);

scanf("%f",&s[i].score[j]); //i变为j,忘了加&

}

s[i].average=(s[i].score[0]+s[i].score[1]+s[i].score[2])/3.0; //这里有错误

}

for(i=0; i

{

index=i;

for(j=i+1; j

{

if(s[i].average < s[j].average) //这里应该比较平均分

{

index=j;

}

}

m=s[i]; //这里是i

s[i]=s[index];

s[index]=m;

}

printf("num\t name\t average\n");

for(i=0; i

printf("%d\t%s\t%.2f\n",s[i].num,s[i].name,s[i].average); //这里多了分号

return 0;

}

00分享举报

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值