c语言结构体如何按姓名排序,【查错】怎样让结构体其他信息(姓名)对应关键值(成绩)排序输出...

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

#include

#include

#include

#include

#define NMAX 10

#define n 10

struct student

{ char name[NMAX];

int score;

} info[n];

int main ( )

{ int num, i, j, max, temp1;

char temp2[NMAX];

printf("#####欢迎使用学生信息统计系统#####");

printf("\n请输入%d个学生的成绩: \n",n);

for (i=0; i

{

printf ("姓名:");

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

printf ("成绩:");

scanf ("%d", &(info[i].score));

}

num=1;

printf("-------------------\n");

printf("名次 姓名 成绩\n");

for (i=0; i

{ max=i;

for (j=i+1; j

if (info[j].score>info[max].score)

max=j;

if (max!=i)

{ temp1 = info[max].score;

info[max]=info[i];

info[i].score= temp1;

strcpy(temp2,info[max].name);

strcpy(info[max].name,info[i].name);

strcpy(info[i].name,temp2);

}

if ((i>0)&&(info[i].score

num=num+1;

printf("%4d %s %4d \n", num, info[i].name, info[i].score);

}

getch();

printf("#########调试完毕#########\n");

return 0;

}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值