这段代码编译没有问题,但是运行时,例如输入939577,它会显示有重复数字,但是数字显示不出来,实在找不出错误,请大神们指教
#include <stdio.h>#include <stdlib.h>
/*输入一串数字,查找有没有重复数字,并输出重复数字
*/
int main()
{
int digit_seen[10] = {0}, a[10] = {0};
int digit, b = 0;
long int n;
printf("请输入数字:");
scanf("%ld", &n);//读取数字
while(n > 0)//判断有没有重复数字,并将重复数字记录入数组a
{
digit = n % 10;
if(digit_seen[digit] >= 1)
{
a[digit] =a[digit] + 1;
b = 1;
}
else
{
digit_seen[digit] = 1;
}
n /= 10;
}
if(b == 1)//输出重复数字
{
printf("有重复数字:");
int i;
for(i = 0; i <= 9; i++)
{
if(a[i] > 1)
{
printf("%d ",i);
}
}
}
else
{
printf("没有重复数字\n");
}
return 0;
}