用二维数组和指针变量作为函数参数,编程在n个班的学生(假定每个班k个学生)的分数中查找最高分,并指出最高分成绩的学生是第几个班的第几个学生。请定义findMax函数,该函数用于查找最高分。函数参数
要求如下:score存放学生的成绩,n记录score的行数,代表班级。k用于记录score的列数(班中学生的人数),pRow指向数组最大值所在的行,pCol指向数组最大值所在的列。
函数返回值:数组元素最大值。
请编写findMax的代码,同时编写main函数调用findMax,并报告结果
输入格式:
第一行输入n,表示有n个班,每个班k个学生(0<n<=100,0<k<=10)
接着读入n行数据,每行k个数,表示不同班级的学生成绩
请从ex1.txt中获取数据
输出格式:输出最高分以及最高分学生所在班级和学号
#include<stdio.h>
int findMax(int score[][])
{
int n,k,Prow,Pcol,max=[0][0],i,j;
for(i=0;i<n;i++)
for(j=0;j<k;j++)
if(max<a[n][k])
{
max=a[n][k];
Prow=n,Pcol=k;
}
printf("最高分%d是%d班学号为%d的学生",max,Prow+1,Pcol+1);
}
int main()
{
int n;
freopen("ex3.txt","r",stdin);
scanf("%d",&n);
getchar();
while(n--)
{
int n,k,score[n][k];
for(i=0;i<n;i++)
for(j=0;i<k;j++)
scanf("%d",&score[n][k])
findMax(score[n][k]);
}
fclose(stdin);
return 0;
}
#include<stdio.h>
int findmax(int score[][10],int n,int k,int *prow,int *pcol)
{
int max=0;int i,j;
for(i=0;i<n;i++)
{
for(j=0;j<k;j++)
{
if(score[i][j]>max)
{
max=score[i][j];
*prow=i;*pcol=j;}
}}
return max;
}
int main()
{
int n,k;
int row,col;
int max,i,j;
int score[100][10];
freopen("ex1.txt","r",stdin);
scanf("%d%d",&n,&k);
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
scanf("%d",&score[i][j]);
}
}
max=findmax(score,n,k,&row,&col);
printf("最高分%d是%d班的学号为%d的学生",max,row+1,col+1);
fclose(stdin);
return 0;
}