C语言作业 用C语言编写一个程序实现学员成绩管理,每个学员包括3门课的成绩。从键盘输入学员信息,

C语言作业
用C语言编写一个程序实现学员成绩管理,每个学员包括3门课的成绩。从键盘输入学员信息,包括学号.姓名.三门课成绩,按照学员平均成绩由大到小排序。另外需要增加下面的管理功能。

插入功能:在排序后的学员成绩表中插入一个学员的信息,要求插入后仍然保持成绩表原有排序。

删除功能:要求输入指定的学号,从学员信息表中删除该学员,删除后的成绩表保持原有的排序。

将学员信息导入文件;
从文件读取学员信息;
退出系统。

#include <stdio.h>#include <math.h>int main (){int num,i,j;double arry[20][3],C,area;printf("请输入三角形的个数,不要超过20个:\n");scanf("%d",&num);printf("请依次输入三角形的边长,按空格隔开\n"); for (i=1;i<=num;i++) { for(j=0;j<3;j++) { scanf("%lf",&arry[i][j]); if(j==3) printf("\n"); } } for(i=1;i<=num;i++) { if ((arry[i][0]+arry[i][1]>arry[i][2])&&(arry[i][0]+arry[i][2]>arry[i][1])&&(arry[i][1]+arry[i][2]>arry[i][0])) { C=(arry[i][0]+arry[i][1]+arry[i][2])/2; area=sqrt(C*(C-arry[i][0])*(C-arry[i][1])*(C-arry[i][2])); printf("area=%.2lf\n",area); } else printf("can't\n"); } return 0;}

第二题:平年闰年都有考虑,可能出错的数据运行了一下。
#include <stdio.h>int panduan (int year);int main (){int num,i,j,k,arry[20][3],num_Day=0;printf("请输入数据的个数,不要超过20个:\n");scanf("%d",&num);printf("请依次输入年月日,按空格隔开\n"); for (i=1;i<=num;i++) { for(k=0;k<3;k++) { scanf("%d",&arry[i][k]); if(k==3) printf("\n"); } } for(i=1;i<=num;i++) { if((arry[i][0]<1)|(arry[i][0]>9999)|(arry[i][1]<1)|(arry[i][1]>12)|(arry[i][2]<1)|(arry[i][2]>31)| ((panduan(arry[i][0]))&(arry[i][2]>=30)&(arry[i][1]==2))|(!(panduan(arry[i][0]))&(arry[i][2]>=29)&(arry[i][1]==2)) )//把年月日输错的直接报错 printf("Wrong Input\n"); else { if(arry[i][1]==1)printf("这是第%d天\n",arry[i][2]); else { for(j=1;j<arry[i][1];j++) { if(j==1||j==3||j==5||j==7||j==8||j==10||j==12) num_Day+=31; else if(j==2) { if(panduan(arry[i][0])) num_Day+=29; else num_Day+=28; } else num_Day+=30; } num_Day+=arry[i][2]; printf("这是第%d天\n",num_Day); num_Day=0; } } } return 0;}int panduan (int year){ int leap; if(year%4==0) { if(year%100==0) { if(year%400==0) leap=1; else leap=0; } else leap=1; } else leap=0;return leap;}

大二学生做的,不是很优化。
温馨提示:答案为网友推荐,仅供参考