#include<stdio.h> struct student { int num; char name[20]; float score; }; int main() { struct student stu[5]={{10101,"lili",78},{10103,"gygy",98.5},{10106,"fttf",86},{10108,"bbhh",73},{10110,"huhu",100}}; struct student temp; int n=5; int i,j,k; printf("the order is: "); for(i=0;i<n-1;i++) {k=i; for(j=i+1;j<n;j++) if(stu[j].score>stu[k].score) k=j; temp=stu[k];stu[k]=stu[i];stu[i]=temp; } for(i=0;i<n;i++) printf("%d ,%s ,%f ",stu[i].num,stu[i].name,stu[i].score); return 0; } 复制代码 the order is: 10110 ,huhu ,100.000000 10103 ,gygy ,98.500000 10106 ,fttf ,86.000000 10101 ,lili ,78.000000 10108 ,bbhh ,73.000000 -------------------------------- Process exited after 0.203 seconds with return value 0 请按任意键继续. . . 9.5 复制代码 #include<stdio.h> #include<string.h> int main() {struct student long num; char name[20]; char sex; float score; }; struct student stu_1={10101,"Li Lin",'M',89.5}; struct student *p; p=&stu_1; printf("%d ,%s ,%c ",stu_1.num,,stu_1.name,stu_1.sex,stu_1.score); printf("%d ,%s ,%c ",stu_1.num,,stu_1.name,stu_1.sex,stu_1.score); return 0; }