C语言!对于五个学生的四门课成绩,利用全局变量,用函数求出所有成绩的最高分及最低分

C语言的。

#include<stdio.h>
#define N 5
#define M 4
int mun=0,y=0;
int d=0,mun1=0;
float max,min;
float a[N][M];
float s[3]={0.0};
float b[4]={0.0};
void input()
{
int i,j;
for(i=0;i<N;i++)
{ printf("输入%d学生的4门成绩:",i+1);
for(j=0;j<M;j++)
scanf("%f",&a[i][j]); }

}
void f()
{
int j,i;
for(i=0;i<N;i++)
{
for(j=0;j<M;j++)
{
s[i]+=a[i][j];
}
s[i]=s[i]/M;
}
}
void f1()
{
int i,j;
for(j=0;j<M;j++)
{
for(i=0;i<N;i++)
{
b[j]+=a[i][j];
}
b[j]=b[j]/N;
}
}
void f2()
{
int i,j;
max=a[0][0];
for(i=0;i<N;i++)
for(j=0;j<M;j++)
if(a[i][j]>max)
{
max=a[i][j];
mun=i;
y=j;
}
}
void f3()
{
int i,j;
min=a[0][0];
for(i=0;i<N;i++)
for(j=0;j<M;j++)
if(a[i][j]<min)
{
min=a[i][j];
mun1=i;
d=j;
}
}
void main()
{
int i,j;
input();
f();
f1();
f2();
f3();
printf("序号 课程1 课程2 课程3 课程 4\n");
for(i=0;i<N;i++)
{
printf("\nNO.%2d",i+1);
for(j=0;j<M;j++)
printf("%8.1f",a[i][j]);
}
printf("\n");
for(i=0;i<N;i++)
printf("学生:%d号平均分是%.1f\n",i+1,s[i]);
for(j=0;j<M;j++)
printf("课%d:平均分是%.1f\n",j+1,b[j]);
printf("最高分%.1f\n该课程编号为%d\n学生编号%d\n",max,y+1,mun+1);
printf("最低分%.1f\n该课程编号为%d\n学生编号%d\n",min,d+1,mun1+1);
}鉴于自己是菜鸟。。所以应该比较好看懂
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-05-21
#include <stdio.h>
float min,max;
struct student
{
float a[4];
}s[5];
main()
{
int i,j;
for(i=0;i<5;i++)
{
printf("Input the %dth student's scores:");
for(j=0;j<4;j++)
scanf("%f",&s[i].a[j]);
}
min=max=s[0].a[0];
for(i=0;i<5;i++)
for(j=0;j<4;j++)
{
if(min>s[i].a[j])
min=s[i].a[j];
if(max<s[i].a[j])
max=s[i].a[j];
}
printf("max=%f\nmin=%f\n",max,min);
}
//咯咯本回答被提问者采纳
相似回答