#include<stdio.h>
#define N 30
struct student { int num; char name[10]; float grade[4]; }stu[N],t;
void main( ) { int n,i,j; printf("*******************学生信息管理系统*******************\n"); printf("********************制作者:张祖锦********************\n"); printf(" 时间有限,仅此而已此为最基本的,还有好多,可自行斟酌而加\n"); printf("联系方式:QQ-283421560 E-Mail-zhangzujin360732@163.com\n"); printf("请输入学生总人数:"); scanf("%d",&n); printf("******************请输入各个学生信息******************\n"); printf("*学号*****姓名*****平时成绩*****期中成绩*****期末成绩*\n"); for(i=0;i<n;i++) { scanf("%d%s%f%f%f",&stu[i].num,stu[i].name,&stu[i].grade[0],&stu[i].grade[1],&stu[i].grade[2]); stu[i].grade[3]=0.1*stu[i].grade[0]+0.2*stu[i].grade[1]+0.7*stu[i].grade[2]; } printf("\n"); for(i=0;i<n-1;i++) for(j=i+1;j<n;j++) if(stu[i].grade[3]<stu[j].grade[3]) { t=stu[i]; stu[i]=stu[j]; stu[j]=t; } printf("排序结果为:\n"); printf("*学号*****姓名********平时成绩******期中成绩******期末成绩******总成绩*\n"); for(i=0;i<n;i++) printf("%3d%12s%13.2f%14.2f%13.2f%14.2f\n",stu[i].num,stu[i].name,stu[i].grade[0],stu[i].grade[1],stu[i].grade[2],stu[i].grade[3]); }