Online Compiler C

#include <stdio.h> int main() { int a[10]; for (int i = 0; i < 10; i++) { scanf("%d", &a[i]); } for (int i = 0; i < 10; i++) { int flag = 0; for (int j = 0; j < 10; j++) { if (a[i] == a[j] && i != j) flag = 1; } if (flag == 0) printf("%d", a[i]); } return 0; }
这段代码的功能是:读取10个整数,然后输出其中只出现一次(唯一)的元素。它通过双重循环检查每个元素是否在数组中出现多次。

- 代码中缺少一个花括号,导致 `if (flag == 0)` 这一行没有正确包含在第一个 `for` 循环内部。检查一下花括号的配对,确保内层循环和条件判断都在外层循环的范围内。
- 输出唯一元素时,如果存在多个唯一元素,当前代码会连续输出它们而不加空格或换行。考虑是否需要添加分隔符来让输出更清晰。