问题 : 重复数字
时间限制: 1 Sec 内存限制: 128 MB
提交: 7077 解决: 1399
[提交][状态][讨论版]
题目描述
输入一个正整数,显示出该整数中重复出现的数字。如果没有重复出现的数字,则输出提示信息“No repeated numbers.”。如果输入不合法,输出“Invalid input”。
输入
一个不超过7位的正整数
输出
重复出现的数字,若有多个重复出现的数字,按从小到大的顺序依次输出,各数字之间用一位空格分隔
样例输入
282112
样例输出
1 2
代码实现
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int main() {
int tong[10] = { 0 };
int n;
int ch =scanf("%d", &n);
if (ch == EOF || ch == 0 || n <= 0) {
printf("Invalid input\n");
return 0;
}
while (n)
{
tong[n % 10]++;
n /= 10;
}
int index = -1;
for (int i = 0; i < 10; i++) {
if (tong[i] >= 2) {
index = i;
}
}
if (index == -1) {
printf("No repeated numbers.\n");
return 0;
}
for (int i = 0; i < 10; i++) {
if (tong[i] >= 2) {
printf("%d ", i);
}
}
printf("\n");
return 0;
}