69,371
社区成员
发帖
与我相关
我的任务
分享
#include <stdio.h>
#define N 10
#define M 5
int i,j,max=0;
int tongxue=0,kecheng=0;
int *b=&tongxue,*c=&kecheng;
int a[N][M];
float s=0,m=0;
int main()
{
void averageN(int array[][M]);
void averageM(int array[][M]);
int maxvalue(int array[][M]);
printf("请输入a[N][M]\n");
for(i=0;i<N;i++)
{
for(j=0;j<M;j++)
{
scanf("%d",&a[i][j]);
}
}
max=maxvalue(a);
printf("Max value is %d,位于第%d名同学,第%d门课程\n",max,*b,*c);
averageN(a);
averageM(a);
return 0;
}
int maxvalue(int array[N][M])
{
max=array[0][0];
for(i=0;i<N;i++)
{
for(j=0;j<M;j++)
{
if(array[i][j]>max)
{
max=array[i][j];
*b=j+1;
*c=i+1;
}
}
}
return max;
}
void averageN(int array[][M])
{
int i,j;
for(i=0;i<N;i++)
{
s=0;
for(j=0;j<M;j++)
{
s=s+array[i][j];
if(j==M-1)
{
printf("第%d门课程的平均分是%f\n",i,s/M);
}
}
}
}
void averageM(int array[][M])
{
int i,j;
for(j=0;j<M;j++)
{
m=0;
for(i=0;i<N;i++)
{
m=m+array[i][j];
if(i==N-1)
{
printf("第%d名同学的平均分是%f\n",j,m/N);
}
}
}
}
#include <stdio.h>
#define N 10
#define M 5
int i, j, a, b, c;
float s = 0, m = 0;
int main()
{
int maxvalue(int array[][M]);
/*int*/void averageN (int array[][M]);
/*int*/void averageM (int array[][M]);
int a[N][M];
printf("请输入a[N][M]\n");
for (j=0;j<M;j++)
{
for (i=0;i<N;i++)
scanf("%d",&a[i][j]);
}
/*printf("Max value is %d,位于第%d名同学,第%d门课程\n",maxvalue(a),b,c);
这句话应该移动到maxvalue(a)之后,因为b和c是在maxvalue中赋值的,否则b和c总是0*/
maxvalue(a);
printf("Max value is %d,位于第%d名同学,第%d门课程\n",maxvalue(a),b,c);
averageN(a);
averageM(a);
return 0;
}
int maxvalue(int array[N][M])
{
int i,j,max;
max=array[0][0];
for(j=0;j<M;j++)
{
for(i=0;i<N;i++)
{/* 这里缺少{ */
s=0;
s = s + array[i][j];
if (array[i][j] > max)
{
max = array[i][j];
b = i + 1; c = j + 1;
}
}/* 这里缺少} */
}
return(max);
}
/*int*/ void averageN(int array[][M])
{
int i,j;
for(j=0;j<M;j++,printf("第%d门课程的平均分是%f\n",j,s/10),s=0)
{
for(i=0;i<N;i++)
s=s+array[i][j];
}
}
/*int*/void averageM(int array[][M])
{
int i,j;
for(i = 0; i < N; i++, printf("第%d名同学的平均分是%f\n", i, m / 5), m=0)
{
for(j=0;j<M;j++)
m=m+array[i][j];
}
}