这是正确的代码:#include<stdio.h>#include<stdlib.h>struct student{ int number; char name[20]; int score;}person[10];int main(){ struct student temp; int m,i,j,flag=1; scanf("%d",&m); for(i=0;i<m;i++) { scanf("%d %s %d",&person[i].number,person[i].name,&person[i].score); } for(i=0;i<m-1;i++) { flag=1; for(j=0;j<m-1-i;j++) { if(person[j].score>person[j+1].score) { temp=person[j+1]; person[j+1]=person[j]; person[j]=temp; flag=0; } } if(flag==1) break; } for(i=0;i<m;i++) printf("%d %s %d\n",person[i].number,person[i].name,person[i].score); system("pause"); return 0;}然而当for(j=0;j<m-1-i;j++)变为for(j=0;j<m-1;j++)时最后输出结果时,有一组结构体数据会成为0 0,求大家指教,
目前暂无任何回答
- 0 回答
- 0 关注
- 1263 浏览
添加回答
举报
0/150
提交
取消