您的位置:首页 > 编程语言 > C语言/C++

C语言小试题:找出M行N列矩阵的行最大值,存入数组并输出。

2016-11-07 09:27 323 查看
#include<stdio.h>

//首先指定M和N的值
#define M 3
#define N 3

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

int a[M]
= { 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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐