问题描述: C语言中求4*4数组每一行中最大数及其位置?要求输出每一行中的最大数和这个最大数的行,列序号! 1个回答 分类:综合 2014-11-03 问题解答: 我来补答 #include <stdio.h>int main(){int array[4][4],a[4][2];int temp=0,k,i=0,j=0;printf("请输入4*4的数组\n");for(i=0;i<4;i++)for(j=0;j<4;j++)scanf("%d",&array[i][j]);for(i=0;i<4;i++){temp=array[i][0];k=1;for(j=0;j<4;j++)if(array[i][j]>temp){temp=array[i][j];k=j+1;} a[i][0]=temp; a[i][1]=k;}for(i=0;i<4;i++)printf("第%d行的最大数为:%d 位于第%d列\n",i+1,a[i][0],a[i][1]);} 下面的截图是程序运行例子:还有疑问的话就追问! 再问: 每一列中的最大数,还有最大数的行号列号,这个怎么写? 再答: 上面给出的程序就是求每行的最大数,每行的最大数当然是本行只要求列数就可以了。那你的意思是,既要求每行的最大数又要求所有数中的最大数?如果是这样的话,那就是下面改正后的这个程序!#include <stdio.h>int main(){ int array[4][4],a[4][2],max[1][3]; int temp=0,k,i=0,j=0,tempmax=0; printf("请输入4*4的数组\n"); for(i=0;i<4;i++) for(j=0;j<4;j++) scanf("%d",&array[i][j]); tempmax=array[0][0]; for(i=0;i<4;i++) { temp=array[i][0]; k=1; for(j=0;j<4;j++) { if(array[i][j]>temp) { temp=array[i][j]; k=j+1; } if(array[i][j]>tempmax) { tempmax=array[i][j]; max[0][1]=i+1; max[0][2]=j+1; } a[i][0]=temp; a[i][1]=k; } } max[0][0]=tempmax; printf("数组中最大数为%d 位于第%d行 第%d列\n",max[0][0],max[0][1],max[0][2]); for(i=0;i<4;i++) printf("第%d行的最大数为:%d 位于第%d列\n",i+1,a[i][0],a[i][1]);}如果不是这样的话,麻烦说出错误的地方。还有请表达清楚题意!否则知道网友无法为你提供帮助!最好能上传所有题目信息! 展开全文阅读