题目一. 编程题:定义3行3列的二维数组,从键盘输入9个数的值.输出其中最大值和最小值及其所在的行列坐标.

如题所述

#include"stdio.h"

int main()

{ int i,j,i1,j1,i2,j2,a[3][3];

printf("请输入9个整数:\n");

i1=j1=i2=j2=0;

for(i=0;i<3;i++)

for(j=0;j<3;j++)

{

scanf("%d",&a[i][j]);

if(a[i1][j1]<a[i][j])

{

a[i1][j1]=a[i][j];

i1=i;

j1=j;

}

if(a[i2][j2]>a[i][j])

{

a[i2][j2]=a[i][j];

i2=i;

j2=j;

}

}

printf("最大值a[%d][%d]=%d\n",i1,j1,a[i1][j1]);

printf("最小值a[%d][%d]=%d\n",i2,j2,a[i2][j2]);

getch();

}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-05-04
//满意请采纳
#include<stdio.h>
int main(){
int a[3][3]={0},i,j,max,min,max_i,max_j,min_i,min_j;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
scanf("%d",&a[i][j]);
max=min=a[0][0];
max_i=max_j=min_i=min_j=0;
for(i=0;i<3;i++)
for(j=0;j<3;j++){
if(a[i][j]>max){
max=a[i][j];
max_i=i;
max_j=j;
}
if(a[i][j]<min){
min=a[i][j];
min_i=i;
min_j=j;
}
}
printf("max=(%d,%d)=%d,min=(%d,%d)=%d\n",max_i,max_j,max,min_i,min_j,min);
return 0;
}

本回答被提问者和网友采纳