今日刷题:
题目描述:按如下函数原型编程从键盘输入一个m
行n
列的二维数组,然后计算数组中元素的最大值及其所在的行列下标值。其中m
和n
的值由用户键盘输入。已知m
和n
的值都不超过10
。
输入数组大小:"%d,%d"
下面输入数组中元素。
输出格式:
数组大小输入提示信息:"Input m, n:"
数组元素输入提示信息:`”Input %d*%d array:
“`
输出格式:"max=%d, row=%d, col=%d"
5,5
1 2 3 4 5
4 5 6 100 2
3 2 1 5 6
1 2 3 5 4
3 5 6 4 8
Input m, n:Input 5*5 array:
max=100, row=2, col=4
源代码如下:
#include<stdio.h>
#define n 10
#define m 10
int main(void)
{
int a[m][n],d,b,c,e;
scanf("%d,%d",&b,&c);
for(d=0;d<b;d++){
for(e=0;e<c;e++){
scanf("%d",&a[d][e]);
}
}
int max,k,l;
max=a[0][0];
for(d=0;d<b;d++){
for(e=0;e<c;e++){
if(max<a[d][e]){
max=a[d][e];
k=d;
l=e;
}
}
}
if(c==1&&b==1){
k=0;
l=0;
}
printf("Input m, n:Input %d*%d array:\n",b,c);
printf("max=%d, row=%d, col=%d",max,k+1,l+1);
return 0;
}
运行如下:
最后的话
属于自己的,才是最好的。