鱼C论坛

 找回密码
 立即注册
查看: 2896|回复: 2

[已解决]小白求助

[复制链接]
发表于 2023-11-13 13:01:56 | 显示全部楼层
在您提供的代码中,存在一些问题导致无法正确输出预期结果。主要问题点包括:

1. 第一个 scanf 后面的字符处理逻辑可能会导致错误。
2. 查找最大整数和最大整数所在行列数的逻辑存在问题。

下面是修改后的 C 代码:
  1. #include <stdio.h>
  2. int main(void)
  3. {
  4.     int row, i, k;
  5.     char ch = ',';
  6.     int array[30][100] = {{0}};
  7.     scanf("%d", &row);
  8.    
  9.     for (i = 0; i < row; i++) {
  10.         k = 0;
  11.         while (1) {
  12.             scanf("%d", &array[i][k++]);
  13.             if (getchar() == '\n')
  14.                 break;
  15.         }
  16.     }
  17.     // 查找最大整数
  18.     int maxNum = 0;
  19.     for (i = 0; i < row; i++) {
  20.         for (k = 0; array[i][k] != 0; k++) {
  21.             if (array[i][k] > maxNum)
  22.                 maxNum = array[i][k];
  23.         }
  24.     }
  25.     printf("%d\n", maxNum);
  26.     // 查找最大整数所在行数
  27.     int rowNumbers[30], count = 0;
  28.     for (i = 0; i < row; i++) {
  29.         for (k = 0; array[i][k] != 0; k++) {
  30.             if (array[i][k] == maxNum) {
  31.                 rowNumbers[count++] = i + 1;
  32.                 break;
  33.             }
  34.         }
  35.     }
  36.     for (i = 0; i < count; i++) {
  37.         printf(i == 0 ? "%d" : ",%d", rowNumbers[i]);
  38.     }
  39.     return 0;
  40. }
复制代码

以上是修改后的 C 代码,应该可以正确输出期望的结果。如果还有其他问题,请随时提出。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2026-4-1 20:01

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表