C语言程序设计:求二维数组中最大元素值及其行列号

编程题

#include<stdio.h>

main()

{int i,j,row=0,colum=0,max;

int a[3][4]={{1,2,3,4},{9,8,7,6},{-10,10,5,2}};

max=a[0][0];

for(i=0;i<=2;i++)

for(j=0;j<=3;j++)

if(a<i>[j]>max)

{

max=a<i>[j];

row=i;

colum=j;

}

printf("%d,%d,%d\n",max,row,colum);

}

扩展资料:

1、printf()函数是格式化输出函数,一般用于向标准输出设备按规定格式输出信息。

格式输出,它是c语言中产生格式化输出的函数(在stdio.h中定义)。用于向终端(显示器、控制台等)输出字符。格式控制由要输出的文字和数据格式说明组成。

要输出的文字除了可以使用字母、数字、空格和一些数字符号以外,还可以使用一些转义字符表示特殊的含义。

简单点理解就是,在一段程序中你正确使用该函数,可以在该程序运行的时候输出你所需要的内容。

2、printf函数是一个标准库函数,它的函数原型在头文件“stdio.h”中。但作为一个特例,不要求在使用printf函数之前必须包含stdio.h文件。

printf()函数的调用格式为:printf("<格式化字符串>",<参量表>)。

其中格式化字符串用于指定输出格式。格式控制串可由格式字符串和非格式字符串两种组成。

温馨提示:内容为网友见解,仅供参考
第1个回答  2019-05-23

#include <stdio.h>

void main()

{

int i,j,row = 0 ,colum = 0,max;

int a[3][4]={{1,2,3,4},{9,8,7,6},{-10,10,-5,2}};

max = a[0][0];

for(i=0;i<=2;i++)

for(j=0;j<=3;j++)

if(a[i][j]>max)

{

max = a[i][j];

row = i;

colum = j;

}

printf("最大值=%d\n行号= %d\n列号= %d\n",max,row,colum);

}

扩展资料:

数组使用规则:

1.可以只给部分元素赋初值。当{ }中值的个数少于元素个数时,只给前面部分元素赋值。例如:static int a[10]={0,1,2,3,4};表示只给a[0]~a[4]5个元素赋值,而后5个元素自动赋0值。

2.只能给元素逐个赋值,不能给数组整体赋值。例如给十个元素全部赋1值,只能写为:static int a

[10]={1,1,1,1,1,1,1,1,1,1};而不能写为:static int a[10]=1;请注意:在C、C#语言中是这样,但

并非在所有涉及数组的地方都这样,数据库是从1开始。

3.如不给可初始化的数组赋初值,则全部元素均为0值。

4.如给全部元素赋值,则在数组说明中, 可以不给出数组元素的个数。例如:static int a[5]=

{1,2,3,4,5};可写为:static int a[]={1,2,3,4,5};动态赋值可以在程序执行过程中,对数组作动态赋

值。这时可用循环语句配合scanf函数逐个对数组元素赋值。

参考资料:

百度百科-数组

本回答被网友采纳
第2个回答  推荐于2018-06-18

思路:先假设二维数组的第一个数就是最大数,在依次遍历二位数组,判断其是否大于最大数,大于最大数就替换掉最大数,并修改最大数的行列号。

参考代码:

#include<stdio.h>
int main()
{
int a[5][5],max,i,j,p,q;
for(i=0;i<5;i++)
for(j=0;j<5;j++)
scanf("%d",&a[i][j]);
max=a[0][0];
p=q=0;
for(i=0;i<5;i++)
for(j=0;j<5;j++)
if(a[i][j]>max){
max=a[i][j];
p=i;
q=j;
}
printf("最大数为:%d,行号为:%d,列号:%d.\n",max,p,q);
     return 0;
}
/*
运行结果:
1 5 4 7 6
4 5 8 45 12
1 4 87 56 12
11 25 84 35 47
55 88 99 66 44
最大数为:99,行号为:4,列号:2.
*/

本回答被网友采纳
第3个回答  2015-10-29

  找出二维数组中的最大值最小值及其所在行号列号

  4*4的数组示例,直接输入一个4*4的数组即可获得答案

#include <stdio.h>
void main()

int a[4][4],i,j,max,row1,column1;
int min,row2,column2;
for (i=0;i<4;i++)
for (j=0;j<4;j++)
scanf("%d",&a[i][j]);
max=a[0][0];row1=0;column1=0;
min=a[0][0];row2=0;column2=0;
for (i=0;i<4;i++)
for (j=0;j<4;j++)
{ if (max<a[i][j])
{ max=a[i][j];
row1=i;
column1=j; }
if (min>a[i][j])
{ min=a[i][j];
row2=i;
column2=j;
}
}
printf("max=%d,row=%d,column=%d\n",max,row1+1,column1+1);
printf("min=%d,row=%d,column=%d\n",min,row2+1,column2+1);
}

第4个回答  2014-06-20
#include<stdio.h> intmain() { int a[3][4],max,x,y,i,j; printf("请输入:\n"); for(i=0;i<3;i++) for(j=0;j<4;j++) scanf("%d",&a[i][j]); max= a[0][0]; for(i=0;i<3;i++) for(j=0;j<4;j++) if(max<a[i][j]){ max=a[i][j]; x=i;y=j; } printf("%d %d %d",max,x,y); }本回答被提问者采纳

C语言求出二维数组中的最大元素值
include <stdio.h>#include <conio.h>#define ARR_LEN 255 \/* 数组长度上限 *\/#define elemType int \/*元素类型*\/\/* 打印矩阵内容 *\/ void printMatrix (elemType matrix[ARR_LEN][ARR_LEN], int row, int col) {int i, j;for (i=0; i<row; i++) {for (j=0; j...

求二维数组中最大元素及其所在的行和列
int i,j,row = 0 ,colum = 0,max; \/\/定义整型的i,j,定义行列及最大值 int a[3][4]={{1,2,3,4},{9,8,7,6},{-10,10,-5,2}}; \/\/定义一个二维数组 max = a[0][0];for(i=0;i<=2;i++) \/\/利用for进行循环 for(j=0;j<=3;j++)if(a[i][j]>max) ...

c语言编程:找出二维数组中的最大值最小值及其所在行号列号
示例:有一个3*4的矩阵,要求编程序求出其中最大的那个元素的值,以及其所在的行号和列号。代码:include<stdio.h> int main(){ int i,j,row=0,colum=0,max;int a[3][4]={{1,2,3,4},{4,5,6,7},{-1,3,-5,10}};max=a[0][0];printf("array a:\\n");for(i=0;i<=2...

用C语言找出二维数组的最大元素及它所在的行与列,并算出平均值?_百度...
printf("最大值所在行: %d\\n", max_row + 1);printf("最大值所在列: %d\\n", max_col + 1);printf("平均值: %.2f\\n", average);return 0;}

C语言 求二维数组(3行3列)中最大元素值及其行列号。
\/\/#include "stdafx.h"\/\/vc++6.0加上这一行.#include "stdio.h"int main(void){ int a[3][3]={5,1,9,2,4,6,8,7,3},i,j,maxi,maxj; for(maxi=maxj=i=0;i<3;i++) for(j=0;j<3;j++) if(a[maxi][maxj]...

用C语言实现,要求输出下图所示的二维数组中最大元素
include<stdio.h>int main(){ int i,j,a[4][4],d=-1; printf("输入16个数字:\\n"); for(i=0; i<4; i++) for(j=0; j<4; j++) scanf("%d",&a[i][j]); for(i=0; i<4; i++) for(j=0; j<4; j++) if(d...

...值最大的元素值,以及它的行号和列号(C语言编程)
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=a[i][j];row=i;colum=j;} } } printf("最大值为:%d;行号为:%d,列号为:%d",...

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语言编写
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函数,tt指向一个m行n列的二维数组,求二维数组每...
void fun(int tt[M][N], int pp[N]){ int maxv, i, j; for (i = 0; i < N; ++i){ maxv = tt[0][i] for (j = 1; j < M; ++j){ if (maxv < tt[i][j]){ maxv = tt[i][j]; } } pp[i] = maxv; }} ...

相似回答