c语言 程序的输入第一行是以两个以空格隔开的正整数n和m,后面的输入是n行每行m个以空格隔开的整数。要求计算每一行数字的最大值并输出
时间: 2024-12-15 20:13:51 浏览: 156
在 C 语言中,你可以通过标准输入流(stdin)读取用户的输入,并使用数组或动态内存分配来存储每一行的整数。然后遍历每个元素找到最大值。下面是一个简单的示例程序,用于完成这个任务:
```c
#include <stdio.h>
#define MAX_NUMS 100 // 你可以根据需要调整这个常量
int main() {
int n, m;
// 获取输入的第一行数据
scanf("%d %d", &n, &m); // 输入n和m,用空格分隔
// 为每行创建一个大小为m的数组
int** numbers = (int**)malloc(n * sizeof(int*)); // 动态分配内存
for (int i = 0; i < n; i++) {
numbers[i] = (int*)malloc(m * sizeof(int)); // 再次动态分配一行数组的空间
for (int j = 0; j < m; j++) {
scanf("%d", &numbers[i][j]); // 读取并存储每个元素
}
// 记录当前行的最大值
int max_in_row = numbers[i][0];
for (int k = 1; k < m; k++) {
if (numbers[i][k] > max_in_row) {
max_in_row = numbers[i][k];
}
}
printf("Row %d's maximum value is: %d\n", i+1, max_in_row);
free(numbers[i]); // 释放一行内存
}
// 所有行处理完毕后释放主数组的内存
for (int i = 0; i < n; i++) {
free(numbers[i]);
}
free(numbers);
return 0;
}
阅读全文
相关推荐



















