#include<stdio.h>#include<string.h>struct Student{// int Student_ID; char name[12]; int score;};int main(void){ int i,j; struct Student s[10]; void sort(struct Student *p); for(i=0;i<10;i++)//输入信息 { printf("请输入第%d位学生的学号:",i+1); scanf("%d",s[i].Student_ID); printf("他\她的姓名:",i+1); j=0;while((s[i].name[j]=getchar())!='\n')j++; s[i].name[12]='\0'; printf("成绩:",i+1); scanf("%d",s[i].score); } for(i=0;i<10;i++)printf("%-6d%s%-6d",s[i].Student_ID,s[i].name[12],s[i].score);}void sort(struct Student *p)//升序排序{ int i,j; struct Student temp; temp=p[0]; for(i=0;i<10;i++) { for(j=i;j<10;j++) { if(p->score<p->score) { temp=p; p[j]=p[j+1]; p[j+1]=p[j]; } } } }
scanf需要传地址.
见注释
int main(void)