实验
#include<stdio.h> struct student{ char name[10]; int age; }; int main(void) { int i,m,j,n; struct student stu[5],temp; struct name; struct age; int count_age(struct student s); scanf("%d",&n); for(i=0;i<n;i++){ scanf("%s",stu[i],name); scanf("%d",stu[i],age); for(i=0;i<n-1;i++){ m=i; for(j=i+1;j<n;j++) if(stu[j].age>stu[m].age) m=j; temp=stu[m]; stu[m]=stu[i]; stu[i]=temp; } printf("name\t age\n"); for(i=0;i<n;i++) printf("%s\t%d",stu[i].name,stu[i].age); return 0; }
第四题的错误代码
#include<stdio.h> struct student{ int num; char name[10]; int mark; }; int main(void) { int i,j; int n = 10; struct student stu[10],temp; for(i=0;i<n;i++) { scanf("%d",&stu[i].num); scanf("%s",&stu[i].name); scanf("%d",&stu[i].mark); printf("\n"); } for(i=0;i<n;i++) { int index = i; for(j=i+1;j<n;j++) { if(stu[j].mark>stu[i].mark) index=j; temp=stu[index]; } stu[index]=stu[i]; stu[i]=temp; } printf("num\t name\t mark\n"); for(i=0;i<n;i++) { printf("%d\t%s\t%d\n",stu[i].num,stu[i].name,stu[i].mark); } int x=0; scanf("d%",&x); }