在线编译器 C

#include <stdio.h> int main() { int a[10], i, j, count; for (i = 0; i < 10; i++) { scanf("%d", &a[i]); } for (i = 0; i < 10; i++) { count = 0 for (j = 0; j < 10; j++) { if (a[i] == a[j]) count++; } if (count == 1) { printf("%d", a[i]); } } return 0; }
这段代码的目的是:输入10个整数,然后找出并输出其中只出现一次(唯一)的元素。但代码中存在语法错误。

- 第9行 `count = 0 for (j = 0; j < 10; j++)` 缺少分号,应该写成 `count = 0; for (j = 0; j < 10; j++)`。注意C语言中每条语句必须以分号结束。
- 另外,逻辑上这个程序会多次输出同一个唯一元素(例如如果唯一元素出现在多个位置,每次外层循环遇到它都会输出一次)。你可以思考如何避免重复输出,比如在找到唯一元素后立即跳出循环,或者用一个标记变量来控制输出。