成绩结构体 #include<stdio.h> struct cat { char name[10]; int cj; };
void c(struct cat a[],int x,int y) { struct cat temp; temp=a[x]; for (;x>y;x--) a[x]=a[x-1]; a[y]=temp; }
void ps(struct cat a[],int n) { int i,j; for (i=1;i<n;i++) { for (j=0;j<i;j++) { if (a[j].cj<a[i].cj) { c(a,i,j); break; } } } }
void display(struct cat a[],int n) { int i; for (i=0;i<n;i++) { printf("第%d名: ",i+1); printf("姓名:%s 成绩:%d\n",a[i].name,a[i].cj); } }
void main() { struct cat sion[50],bb[50]; int i,j,n; FILE *p; //sion[1]=sion[0]; //printf("%s %d",sion[1].name,sion[1].cj); printf("需要输入几个学生成绩?"); scanf("%d",&n); for (i=0;i<n;i++) { printf("第%d个学生的姓名:",i+1); scanf("%s",&sion[i].name); printf("第%d个学生的成绩:",i+1); scanf("%d",&sion[i].cj); printf("\n"); } ps(sion,n); printf("\n成绩排名如下:\n"); display(sion,n); printf("\n写入到文件(jak)中!......\n\n"); p=fopen("jak","wb+"); fwrite (&sion[n],sizeof(struct cat),n,p); fread (&bb[n],sizeof(struct cat),n,p); printf("从文件中读取,并显示!\n\n"); display(sion,n); fclose(p);
}