C语言二维数组中每行最大值和每行和

求一个3*3二维数组中每行的最大值和每行的和。
输入格式:

在一行中输入9个小于100的整数,其间各以一个空格间隔
输出格式:

输出3行3列的二维数组,并在每行后面分别输出每行最大值和每行元素的和,每个数据输出占4列。

代码如下:

#include <stdio.h>
#include <stdlib.h>

#define M 3
#define N 3

int main()
{
int data[M][N], max, sum, i, j;

for (i = 0; i < M; i++) {
for (j = 0; j < N; j++) {
scanf("%d", &data[i][j]);
}
}

printf("\n");

for (i = 0; i < M; i++) {

max = data[i][0];
sum = 0;
for (j = 0; j < N; j++) {

if (data[i][j] > max)
max = data[i][j];

sum += data[i][j];

printf("%d ", data[i][j]);
}

printf("%d %d\n", max, sum);
}

system("pause");
return 0;
}

运行结果:

温馨提示:内容为网友见解,仅供参考
第1个回答  2018-05-29
#include <stdio.h> 
#include <stdlib.h>
#define M 3 //预定义数组长度
     
int main()
{
    int a[M][M]={0},i,j,k[M]={0},m[M]={0};  
    for(j=0;j!=M;++j){
        for(i=0;i!=M;++i){
            scanf("%d",&a[i]);           
            if(m[j]<a[j][i])//找最大值
                m[j]=a[j][i];
            k[j]+=a[j][i];//计每一行的和
        }
    }
    for(j=0;j!=M;++j){
        for(i=0;i!=M;++i){
            printf("%4d", a[j][i]);
        }
        printf("%4d%4d\n",m[j],k[j]);
    }

    return 0;
}

第2个回答  2018-05-29
#include<stdio.h>
main()
{
int array[3][4];
int i,j,max;
for(i=0;i<3;i++)
for(j=0;j<4;j++)
scanf("%d",&array[i][j]);

for(i=0;i<3;i++)
{
max = array[i][0];
for(j=0;j<4;j++)
{
if(array[i][j]>max)
max = array[i][j];
}
printf("The max num of line %d is : %d\n",i,max );
}
}

求用c语言求一个二维数组中每行的最大值和每行的和
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); return max;

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++) \/\/将每行最大的数输出 printf("%d...

C语言2维数组求每行的最大值及其位置,每行的最小值及其位置?
{ int a[n][n]={1,3,2,5,4,6,9,8,7};int i,j,x,y,min,p;for(i=0;i<3;i++){p=0;min=a[i][0];for(j=0;j<3;j++){ if(min>a[i][j]){min=a[i][j];p=j;} } printf("%d\\t位置%d\\n",min,p);} } ...

C语言求一个二维组每行每列的最大值 并放在一个新数组中 ,用指针做?
行列最大值,方法很多,一般循环遍历属于就可以了。既然你要用指针来做,我就用指针来写。利用数组元素地址连贯性来做。include <stdio.h> define MXR 4\/\/最大行数 define MXC 3\/\/最大列数 int main(){ int i=0,mr,mc,*p=NULL,*ps=NULL;int nums[MXR][MXC]={{8,6,7},{2,6,3},...

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语言编程:3行4列的二维数组中输出每一行的最大值怎么编程呀
int a[3][4],m=0;for(int i=0;i<3;i++;){ for(int j=0;j<4;j++;){ if(m

C语言简化,二位数组每一行 每一列的和.
include<stdio.h>#define rmax 3 \/\/ 数组行数#define cmax 5 \/\/数组列数int main(){ int a[rmax][cmax]={{3,5,8,1,4},{34,2,67,21,6},{7,8,3,10,20}}; int i=0,j=0,rSum[rmax]={0},cSum[cmax]={0}; for(i=0;i<rmax;i++) { for(j=0;j<cma...

在一个二维数组中找出最大值和最小值。。。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 ...

[image]20 c语言编写自定义函数,计算二维数组中每一列的最大值,并返 ...
M],b[M]) { int i,j; for ( j=0;j<M;j++ ) { b[j]=0; for ( i=1;i<N;i++ ) if ( a[b[j]]<a[i] ) b[j]=i; }}void main() { int a[N][M],b[M],i,j; for ( i=0;i<N;i++ ) for ( j=0;j<M;j++ ) scanf("%d",&a[i][j])...

相似回答