1.定义一个数组,标记是否出现过这个数。
2.对每一位数字进行判断,对应数已经被标记过代表重复,如果没有被标记,将该位标记。
#include <stdio.h>
int check_repeat(int n)
{
int flag[10]={0};
int a;
while(n)
{
a=n%10;
n/=10;
if(flag[a]) return 1;//发现重复
flag[a]=1; //标记出现过
}
return 0; //正常退出循环 表示没有出现重复
}
int main()
{
int a;
scanf("%d",&a);
if(check_repeat(a))printf("有重复\n");
else printf("无重复\n");
return 0;
}