c语言这个程序是怎么实现的,麻烦用文字解释一下。谢谢
1个回答
展开全部
大体思路就是占位,因为数字都是从0-9,所以给定一个数组bool digit_seen[10] = {false};
初始值为0-9都没有占位
while(n>0)
{
digit = n % 10;//获取个位数
if(digit_seen[digit])//如果个位数已经被占位,则退出循环
break;
digit_seen[digit] = true;
n = n / 10;//去掉个位数
}
while循环退出只有两种可能,一种是通过break跳出,一种是n<=0退出,
如果通过break跳出,n是大于0的,此时是因为占位导致的退出,说明这个数中有重复的数字
如果n<=0退出,则说明这个数中的数字彼此各不相同
追问
怎么判断它占没占位呢
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询