Online Compiler C

#include <stdio.h> int main() { int n; scanf("%d",&n); int count[10]={0}; while(n>0){ int d=n%10; count[d]++; n=n/10; } for (int i=0;i<10;i++){ if(count[i]>=2) {printf("%d",i);} } return 0; }
这段代码的功能是:读入一个整数,统计每个数字(0-9)出现的次数,然后输出所有出现次数大于等于2的数字。

代码的逻辑基本正确,但有一个小问题需要注意。

- 当输入的数字包含重复的数字时,程序会输出这些数字,但输出时没有分隔符,比如输入112233,会输出123连在一起,可能不符合预期。
- 另外,如果输入的数字是0本身,while循环不会执行,count数组全为0,不会有任何输出,这可能是合理的,但需要确认题目要求。