发布网友 发布时间:2022-04-23 02:13
共5个回答
热心网友 时间:2023-07-06 07:15
#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][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、输出存储最大值的数组。
热心网友 时间:2023-07-06 07:16
#include<stdio.h>
#define M 3
#define N 3
int main()
{
printf("There are %d rows %d columns.\n", M, N); //输出到屏幕的提示信息
int a[M][N] = { }; //声明一个M行N列的数组,并将全部元素赋初值为
int i, j; //for循环中要用到
for (i = 0; i < M; i++)
{
//输出到屏幕的提示信息
for (j = 0; j < N; j++)
printf("%d ", a[i][j]); //对第i行第j列的元素赋值
}
printf("\n");
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; //将行最大值存入行最大值数组中
}
printf("每行最大分别为:\n");
for (i = 0; i < M; i++) //将每行最大的数输出
printf("%d ", maxArr[i]);
return 0;
}
扩展资料:
数组使用规则
1.数组的类型实际上是指数组元素的取值类型。对于同一个数组,其所有元素的数据类型都是相同的。
2.数组名的书写规则应符合标识符的书写规定。
3.数组名不能与其它变量名相同。
参考资料:
百度百科-数组
热心网友 时间:2023-07-06 07:16
/*
输入 6 个整数:2 3 4 5 6 9
2 3 4
5 6 9
max : a[1][2] = 9
Press any key to continue
#include <stdio.h>
int const M = 2;
int const N = 3;
void Show(int a[][N],int m) {
int i,j;
for(i = 0; i < m; ++i) {
for(j = 0; j < N; ++j)
printf("%3d ",a[i][j]);
printf("\n");
}
}
int main() {
int i,j,a[M][N];
int maxi = 0,maxj = 0;
printf("输入 %d 个整数:",M * N);
for(i = 0; i < M; ++i) {
for(j = 0; j < N; ++j)
scanf("%d",&a[i][j]);
}
Show(a,M);
for(i = 0; i < M; ++i) {
for(j = 0; j < N; ++j) {
if(a[i][j] > a[maxi][maxj]) {
maxi = i;
maxj = j;
}
}
}
printf("max : a[%d][%d] = %d\n",maxi,maxj,a[maxi][maxj]);
return 0;
}
热心网友 时间:2023-07-06 07:17
#include<stdio.h>
#include<stdlib.h>
int main()
{
int a[2][3]={{1,2,3},{4,5,6}};
int i,j;
for(i=0;i<2;i++){
for(j=0;j<3;j++){
scanf("%d",&a[i][j]);
}
}
int max;
for(i=0;i<2;i++){
max=a[i][0];
for(j=1;j<3;j++){
if(a[i][j]>max){
max=a[i][j];
}
}
printf("第%d行最大值:%d\n",i+1,max);
}
system("pause");
return 0;
}
热心网友 时间:2023-07-06 07:17
如果几行几列也不知道呢