4.定义一个4*4的整型二维数组并初始化。 求出每一行的最大值。 求出每一列的最小值。 两条对角线累加和?

如题所述

#include "stdafx.h"

#include <iostream>

#include <time.h>

using namespace std;


int main()

{

int a[4][4] = { 0 };

int max = 0, min = 100,sum1=0,sum2=0;

srand((unsigned int)time(NULL));

cout << "随机100以内数数组:\n";

for (int i = 0;i < 4;i++)

{

for (int j = 0;j < 4;j++)

{

a[i][j] = rand() % 99 + 1;

cout << a[i][j] << " ";

}

cout << endl;

}

for (int i = 0;i < 4;i++)

{

for (int j = 0;j < 4;j++)

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

max = a[i][j];

cout << "第" << i+1 << "行最大数:" << max<<endl;

max = 0;

}

for (int j = 0;j < 4;j++)

{

for (int i = 0;i < 4;i++)

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

min = a[i][j];

cout << "第" << j+1 << "列最小数:" << min<<endl;

min = 100;

}

for (int i = 0;i < 4;i++)

sum1 += a[i][i];

for (int i = 0, j = 3;i < 4;i++, j--)

sum2 += a[i][j];

cout << "左对角线和:" << sum1 << endl;

cout << "右对角线和:" << sum2 << endl;

system("pause");

return 0;

}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-04-25

#include<stdio.h>

int main()

{

int b[4],c[4],max,min,sum=0;

int a[4][4]={0};

for(int i=0;i<4;i++)

for(int j=0;j<4;j++)

{

scanf("%d",&a[i][j]);

if(i==j||i+j==3)

sum+=a[i][j];

}

printf("sum=%d\n",sum);

for(int i=0;i<4;i++)

{

max=a[i][0];

min=a[0][i];

for(int j=0;j<4;j++)

{

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

max=a[i][j];

if(a[j][i]<min)

min=a[j][i];

}

b[i]=max;

c[i]=min;

}

printf("每一行的最大值:");

for(int i=0;i<4;i++)

printf("%d ",b[i]);

printf("\n每一列的最小值:");

for(int i=0;i<4;i++)

printf("%d ",c[i]);

return 0;

 } 

第2个回答  2020-04-25
#include<stdio.h>
main()
{
int a[3][2], i, j;
for (i = 0; i < 3; i++)
{
for (j = 0; j < 2; j++)
a[i][j] = i + j;
}
for (i = 0; i < 3; i++)
{
for (j = 0; j < 2; j++)
{

printf("%4d", a[i][j]);
}
}
}
【答题不易,请采纳谢谢】