#include<stdio.h>
void main(){
int i,j,a[4][5]
int k,g,min,max
for(i=0i<4i++)
for(j=0j<5j++)
scanf("%d",&a[i][j])
for(i=0i<4i++){
max=a[i][0]
for(j=1j<5j++)
if(a[i][j]>max)
{max=a[i][j]
k=j
}
}
for(i=1i<4i++){
min=a[0][k]
if(a[i][k]<min)
min=a[i][k]
}
if(max==min)
printf("andian is %d",max)
else
printf("no andian")
}
已经编译通过。你的错误是:
①if(max==min)其中为==并不是=;
②最后少一个大括号,否则程序不完整,无法结束。
#include<stdio.h>#define N 3
#define M 4
int main() {
int a[N][M],max,min,i,j,m,n
printf("请输入数组:\n")
for(i = 0i < Ni++)
for(j = 0j < Mj++)
scanf("%d",&a[i][j])
for(i = 0i < Ni++) {
for(j = 0j < Mj++)
printf("%5d",a[i][j])
printf("\n")
}
for(i = 0i < Ni++) {
max = a[i][0] // max被赋予本行中的第一个值
for(j = 0j < Mj++) {
if(max < a[i][j]) {
max = a[i][j]
m = j
}
}
min = a[0][m] // min被赋予0行m列的值
for(j = 0j < Nj++) { // 不应该使用i作为循环变量
if(min > a[j][m]) {
min = a[j][m]
n = j
}
}
if(min == max) printf("鞍点为:a[%d][%d] = %d\n",m,n,max)
}
printf("搜索结束\n")
return 0
}