第1个回答 2017-02-19
#include <stdio.h>
int main()
{
int num,digit[10],i,sign=0;
for(i=0;i<10;i++) digit[i]=0;
printf("please input a integer:");
scanf("%d",&num);
do
{
digit[num%10]++;
num=num/10;
}while(num>0);
for(i=0;i<10;i++)
{ if(digit[i]>1) {
printf("%d\n",i);
sign=1;
}
}
if(sign==0) printf("No repeted numbers.\n");
return 0;
}本回答被网友采纳
第2个回答 2019-02-24
改进了一下上面的代码,可以判断是否是非法输入了
#include <stdio.h>
int main(void){
char a[11],i,j,k,t,q;
printf("Input an integer:\n");
scanf("%s",a);
for(i=0,q=1;a[i]!='\0';i++){
if(a[i]>='0'&&a[i]<='9')
continue;
else
q=0;
}
if(q){
for(t=0,i='0';i<='9';i++){
for(k=j=0;a[j];j++)
if(a[j]==i)
k++;
if(k>1){
printf("%2c",i);
t++;
}
}
printf("\n");
}else
printf("Invalid input");
if(!t)
printf("No repeted numbers.\n");
return 0;
}