试题描述
输入M个班级(每个班级N个学生)学生的计算机文化基础课程成绩,请你设计一个函数来编程找出这些学生中成绩最高的同学(假定最高分只有一名同学),返回最高成绩、该同学是第几个班级的第几个学生(班级和学生编号均从1开始)。
输入
输入包含M + 1行:
第一行是正整数M和N,用一个空格隔开。
第二行到第M + 1行,每行都有N个非负整数,邻近两数用一个空格隔开。
输出
输出最高分、取得最高分的同学是第几个班级的第几个学生(班级和学生编号均从1开始)。
输入示例
3 4
81 72 90 74
72 66 55 83
91 72 83 94
输出示例
94 3 4
数据范围
输入输出均为int范围的正整数
参考代码
#include<stdio.h>
#include<stdlib.h>
int m,n;
int find(int **a,int M,int N)
{
int i,j,max=0;
for(i=0;i<M;i++)
for(j=0;j<N;j++)
if(a[i][j]>max)
{
max=a[i][j];
m=i;
n=j;
}
return max;
}
int main()
{
int i,j,M,N;
int **num;
scanf("%d%d",&M,&N);
num=(int**)malloc(M*sizeof(int*));
for(i=0;i<M;i++)
num[i]=(int*)malloc(N*sizeof(int));
for(i=0;i<M;i++)
for(j=0;j<N;j++)
scanf("%d",&num[i][j]);
printf("%d ",find(num,M,N));
printf("%d %d",m+1,n+1);
return 0;
}
Code language: PHP (php)