1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83
| #include "stdio.h" #define N 35 struct student { int num; char name[8]; int nannv; int chines; int math; int English; int physics; int sum; double avr; }stu[N]; void input(int n) { int i; for(i=0;i<n;i++) { int sum=0; double avr=0.0; printf("请输入第%d个学生信息\n",i+1); printf("请输入学号:"); scanf("%d",&stu[i].num); printf("请输入姓名:"); scanf("%s",stu[i].name); printf("请输入性别:"); scanf("%d",&stu[i].nannv); printf("请输入语文成绩:"); scanf("%d",&stu[i].chines); printf("请输入数学成绩:"); scanf("%d",&stu[i].math); printf("请输入英语成绩:"); scanf("%d",&stu[i].English); printf("请输入物理成绩:"); scanf("%d",&stu[i].physics); stu[i].sum = stu[i].chines+stu[i].math+stu[i].English+stu[i].physics; stu[i].avr = (double)(stu[i].sum*1.0/4); } } void output(int n) { int i; for(i=0;i<n;i++) { printf("------------------------------------------------------------------\n"); printf("第%d名:\n",i+1); printf("学号:%d\t\t姓名:%s\t\t性别:%d\n",stu[i].num,stu[i].name,stu[i].nannv); printf("语文成绩:%d\t数学成绩:%d\t英语成绩:%d\t物理成绩:%d\n", stu[i].chines,stu[i].math,stu[i].English,stu[i].physics); printf("总分:%d\t\t\t平均分:%.2f\n",stu[i].sum,stu[i].avr); printf("------------------------------------------------------------------\n"); } } void sort(int n) { int i,j; struct student st; for(i=0;i<n-1;i++) { for(j=0;j<n-i-1;j++) { if(stu[j].sum<stu[j+1].sum) { st = stu[j]; stu[j] = stu[j+1]; stu[j+1] = st; } } } } void main() { int n; printf("请输入学生人数:"); scanf("%d",&n); input(n); sort(n); printf("排名信息如下:\n"); output(n); }
|