我想打印每个列元素的最大值 1 2 3 4 5 6 7 8 9 所以我想打印7 8 9,因为它们是数组中最大的数字。
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main( void ) {
int a[10][10],c[10],max[10],min[10],n,j,i,tmp,r;
printf("Vuvejdane na vhodni danni:\n");
printf("Vuvedete broi redove i broi stulbove n=");
scanf("%d",&n);
for(i=0;i<n;i++) {
for(j=0;j<n;j++) {
do {
printf("Vuvedete A[%d][%d]:",i,j);
scanf("%d",&a[i][j]);
} while (((a[i][j])<-500) || ((a[i][j])>500));
}
}
printf("Izvejdane na vhodni danni :\n");
for (i=0;i<n;i++) {
for (j=0;j<n;j++) {
printf("%5.1d ",a[i][j]);
}
printf("\n");
}
return 0;
}
答案 0 :(得分:1)
您可以使用循环逐行迭代的循环:
// mx is array of maximum by column
for (j=0;j<n;j++) {
mx[j]= a[0][j];
for (i=1;i<n;i++) {
mx[j] = max(mx[j],a[i][j]);
}
}
和max(a,b)
是一个函数,它返回2个参数中的最大值。