這是正確的代碼:#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 關注
- 1298 瀏覽
添加回答
舉報
0/150
提交
取消