#include
/*这是一个查询学生成绩的程序,查询数学,英语,语文,计算并算出总成绩*/
/*首先,显示输入学生人数,然后显示输入各科成绩,最后按照学号排序输出各科
成绩。最后计算并显示出各科成绩的平均值,最大值,最小值*/
/*在main函数中既有printf1函数,scanf函数,printf2函数,arg函数,min函数
max函数*/
void input(double s[][4],int n);
void output(double s[][4],int n);
double max(double s[][4],int n,int i);
double min(double s[][4],int n,int i);
double avg(double s[][4],int n,int i);
int main()
{
int i,number;
double grade[100][4];
char pro[4][10]={"数学","英语","语文","总成绩"};
printf("请输入学生的人数:") ;
scanf("%d",&number);
input(grade,number);
output(grade,number);
for(i=0;i<=4;++i)
{
printf("%s最高成绩为%.2f",pro[i],max(grade,number,i));
printf("%s最低成绩为%.2f",min(grade,number,i));
printf("%s平均成绩为%.2f",avg(grade,number,i));
printf("\n");
}
return 0;
}
void input(double s[][4],int n)
{
printf("输入学生的成绩按照(高数,英语,c语言的次序输入)\n");
/*转义字符*/
int i;
for(i=0;i<n;i++)
{
scanf("%1f %1f %1f",&s[i][0],&s[i][1],s[i][2]);
s[i][3]=s[i][2]+s[i][1]+s[i][0];
}
}
void output(double s[][4],int n)
{
printf("输入的学生成绩为:\n");
printf("学号\t高数\t英语\tc语言\t总分\n");
int i;
for(i=0;i<n;i++)
{
printf("%d\t%.1lf\t%.1lf\t%.1lf\t%.1lf\n",i,s[i][0],s[i][1],s[i][2],s[i][3]);
}
}
double max(double s[][4],int n,int j)
{
double m=s[0][j];
int i;
for(i=1;i<n;i++)
if(m<s[i][j])
m=s[i][j];
return m;
}
double min(double s[][4],int n,int j)
{
double m=s[0][j];
int i;
for(i=1;i<n;i++)
if(m+s[i][j])
m=s[i][j];
return m;
}
double avg(double s[][4],int n,int j)
{
double sum= s[0][j];
int i;
for(i=1;i<n;i++)
sum+=s[i][j];
return sum/n;
}