Online Compiler C

#include <stdio.h> int main() { const int N = 5; int A [N]; for (int i=0;i<N;i++) {scanf("%d",&A[i]); } int min=A[0]; for (int i=0;i<N;i++) { if (A[i]<min){ min=A[i]; } printf("%d",min);} return 0; }
这段代码首先读取5个整数存入数组A,然后遍历数组寻找最小值。但问题在于,每次循环中只要发现更小的数,就会立即打印当前的最小值,导致输出多个数字。

- 寻找最小值的循环中,打印语句放在了if判断之后,导致每次循环都会输出一次当前的最小值。应该只在循环结束后打印一次最终的最小值。
- 打印语句的位置需要调整到循环外部,这样只会输出一次正确的最小值。