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个整数,然后输出其中只出现一次(唯一)的元素。它通过双重循环检查每个元素是否在数组中出现多次。

你的代码有一个小问题:当找到唯一元素时,`printf` 后面没有换行,而且多个唯一元素会连续输出,没有分隔符。另外,代码的缩进和花括号位置可以更清晰。

- 检查一下 `if (flag == 0)` 后面的花括号是否正确地包含了 `printf` 语句。目前 `printf` 在花括号外面,会导致逻辑错误。
- 考虑如果数组中有多个唯一元素,输出时是否需要空格或换行来分隔它们。