以下是求每一行上最大、每一列上最小的程序:#include<stdio.h>main(){int i,j,k,l,min,max;printf("请输入矩阵的规格:\n");scanf("%d,%d",&i,&j);printf("这是一个%d乘%d的矩阵\n",i,j);int a[i][j];printf("请输入该矩阵:\n");for(k=0;k<i;k++)for(l=0;l<j;l++)scanf("%d",&a[k][l]);for(k=0;k<i;k++){max=a[k][0]; for(l=0;l<j;l++){if(a[k][l]>max)max=a[k][l];}printf("第%d行的最大值 %d\n",k+1,max);}for(l=0;l<j;l++){min=a[0][l];for(k=0;k<i;k++){if(a[k][l]<min)min=a[k][l];}printf("第%d列的最小值 %d\n",l+1,min);}}不过题目的意思应该不是这样的。应该是“找出所在行上最大,同时又是列上最小的数”。#include<stdio.h>main(){int i,j,k,l,min,max,t1,t;printf("请输入矩阵的规格:\n");scanf("%d,%d",&i,&j);printf("这是一个%d乘%d的矩阵\n",i,j);int a[i][j];printf("请输入该矩阵:\n");for(k=0;k<i;k++)for(l=0;l<j;l++)scanf("%d",&a[k][l]);for(k=0;k<i;k++){max=a[k][0]; for(l=0;l<j;l++){if(a[k][l]>max){max=a[k][l];t1=l;}}t=1;for(l=0;l<i;l++){if(a[l][t1]<max){t=0;}}if(t)printf("第%d行%d列的值 %d 为行上最大、列上最小\n",k+1,t1+1,max);}}
阅读全文 >