C语言 键盘输入一个二维数组 最大值【求帮忙看一下哪里错了,还有测试时候我应该怎么输入呢?

#include<stdio.h>
void main ()
{
int a[2][4],i,j,max,p,k;
printf("输入一个3行5列的二维数组:\n");
for(i=0;i<2;i++)
{
for(j=0;j<4;j++)
{
scanf("%d",&a[i][j]);

}

max=a[0][0];
p=0;k=0;
for(i=0;i<2;i++)

for(j=0;j<4;j++)
if(a[i][j]>max)
{
max=a[i][j];
p=i;k=j;
}

printf("max=%d,行=%d,列=%d",max,p+1,k+1);
}
}

第1个回答  2014-05-12
把代码大致整理了一下:
#include<stdio.h>
void main ()
{
// int a[2][4],i,j,max,p,k;
int a[3][5],i,j,max,p,k; //定义数组尺寸为3行5列
//下边开始执行外部输入数据
printf("输入3行5列二维数组:\n");
// for(i=0;i<2;i++)
for(i=0;i<3;i++) //循环3次
{
//for(j=0;j<4;j++)
for(j=0;j<5;j++) //循环5次
{
printf("输入第%d行%d列的数值:\n",i+1,j+1); //加入屏幕输入提示
scanf("%d",&a[i][j]);
}
}//外部输入完成,这里原文少了一个大括号
//下边开始计算最大值
max=a[0][0];
p=0;k=0;
for(i=0;i<2;i++)
{ //为了看起来逻辑清晰,加大括号
for(j=0;j<4;j++)
{ //为了看起来逻辑清晰,加一对大括号
if(a[i][j]>max)
{
max=a[i][j];
p=i;k=j;
}
} //为了看起来逻辑清晰,加大括号,与前边对应
} //为了看起来逻辑清晰,加大括号,与前边对应
printf("max=%d,行=%d,列=%d",max,p+1,k+1);
}
//}//因前边补了一个大括号,这里多出来了,移除。

大致是这样了。本回答被网友采纳
第2个回答  2014-05-12
3行5列是a[3][5]
测试一个一个输入就好 。。。。。。。本回答被提问者采纳

C语言 键盘输入一个二维数组 最大值【求帮忙看一下哪里错了,还有测试...
printf("输入第%d行%d列的数值:\\n",i+1,j+1); \/\/加入屏幕输入提示 scanf("%d",&a[i][j]);} }\/\/外部输入完成,这里原文少了一个大括号 \/\/下边开始计算最大值 max=a[0][0];p=0;k=0;for(i=0;i<2;i++){ \/\/为了看起来逻辑清晰,加大括号 for(j=0;j<4;j++){ \/\/...

C语言输入一个二维数组,找出这个二维数组的最大值
输入时顺便判断一下就可以了:include "stdio.h"int main(int argv,char *argc[]){int a[4][4],t,i,j;printf("任意16个整数:\\n");for(j=0;j<4;j++)for(i=0;i<4;i++){scanf("%d",&a[i][j]);if(i==0 && j==0)\/\/增加以下4行t=a[0][0];else if(t...

c语言输入一个二维数组,找出每行的最大值输出?
下面是实现输入一个二维数组,找出每行的最大值输出的C语言代码:include <stdio.h> define ROW 3 define COLUMN 4 int main() { int arr[ROW][COLUMN];\/\/ 输入二维数组 printf("请输入二维数组(%d行%d列):\\n", ROW, COLUMN);for (int i = 0; i < ROW; i++) { for (int j ...

c语言输入一个二维数组,找出每行的最大值输出
int max = a[i][0]; \/\/先将每一行的第一个数作为最大值 for (j = 1; j < N; j++) \/\/关键步骤——找出行最大值 if (max < a[i][j])max = a[i][j];maxArr[i] = max; \/\/将行最大值存入行最大值数组中 } for (i = 0; i < M; i++) \/\/将每行最大的数输出...

在一个二维数组中找出最大值和最小值。。。c语言编写
printf("最大数:%d\\n",arr[0][0]);\/\/判断最大数的位置 for (int i=0; i<3; i++){ for (int j=0; j<4; j++){ if (arr[0][0]==arr1[i][j]){ printf("它在第%d行第%d列\\n",i,j);} } } \/\/判断最小数 for (int i=0; i<3; i++)\/\/判断最小数。{ for ...

C语言从键盘上输入一个二维数组再输出!!谢谢
void main(){ int a[3][3];int i,j;printf("please input the number:\\n");for(i=0;i<3;i++)for(j=0;j<3;j++)scanf("%d",&a[i][j]);for(i=0;i<3;i++){ for(j=0;j<3;j++)printf("%d ",a[i][j]);printf("\\n");} } 多了几个分号,还有输入时应该用空格...

在一个二维数组中找出最大值和最小值。。。c语言编写
在一个二维数组中找出最大值和最小值。。。c语言编写 10 跪求大神 丶吾乃王道 | 浏览2394 次 |举报 我有更好的答案邀请更新 2013-07-05 最佳答案 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 ...

输入一个二维数组(3×4)的元素,输出其中值最大的元素值,以及它的行号和...
inta[3][4]={1,2,3,4,5,6,7,8,23,48,11,12};inti,j,max=a[0][0],row,colum;printf("数组为:\\n");for(i=0;i<3;i++){ for(j=0;j<4;j++)printf("%4d",a[i][j]);printf("\\n");} for(i=0;i<3;i++){ for(j=0;j<4;j++){ if(a[i][j]>max){ max...

c语言输入一个2*3的二维数组,找出最大值以及他的行下标和列下标并输出...
输入 6 个整数:2 3 4 5 6 9 2 3 4 5 6 9 max : a[1][2] = 9 Press any key to continue \/ include <stdio.h>int const M = 2;int const N = 3;void Show(int a[][N],int m) {int i,j;for(i = 0; i < m; ++i) {for(j = 0; j < N; ++j...

求用c语言求一个二维数组中每行的最大值和每行的和
include<stdio.h>int sum_n(int *p,int m)\/\/求*p开始的m个元素的总和 {int i,s=0; for(i=0;i<m;i++) s+=*(p+i); return s; }int max_n(int *p,int m)\/\/求*p开始的m个元素的最大值 {int i,max=*p; for(i=1;i<m;i++) if(*(p+i)>max)max=*(p+i);...

相似回答
大家正在搜