c语言输入一个二维数组,找出每行的最大值输出

c语言输入一个二维数组,找出每行的最大值输出,第1张

#include<stdioh>

//首先指定M和N的值

#define M 3

#define N 3

int main()

{

printf("There are %d rows %d columns\n", M, N); //输出到屏幕的提示信息

int a[M][N] = { 0 }; //声明一个M行N列的数组,并将全部元素赋初值为0

int i, j; //for循环中要用到

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

{

printf("input %d row's %d values: ", i + 1, N); //输出到屏幕的提示信息

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

scanf("%d", &a[i][j]); //对第i行第j列的元素赋值

}

int maxArr[M] = { 0 }; //声明一个含有M个元素的一维数组来存储M个行最大值

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

{

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 ", maxArr[i]);

return 0;

}

扩展资料:


分析

1、for循环输入一个二维数组a[M][N]。

2、使用一个一维数组存储二维数组每行的最大值,一维数组的大小为M。

3、嵌套for循环找出二维数组每行的最大值,并将最大值传递给一维数组。

4、输出存储最大值的数组。

如果不合并单元格:E1=MAX(OFFSET($C$1,(ROW(C1)-1)24,0,24,1))  最大值

                            F1=MIN(OFFSET($C$1,(ROW(C1)-1)24,0,24,1))  最小值

24个单元格合并:F1=MIN(OFFSET($C$1,(ROW(C1)-1),0,24,1))最小值

                          E1=MAX(OFFSET($C$1,(ROW(C1)-1),0,24,1))最大值


欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/yw/13396993.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-28
下一篇 2023-07-28

发表评论

登录后才能评论

评论列表(0条)

保存