码迷,mamicode.com
首页 > 其他好文 > 详细

判断一个数是否有重复的数字?

时间:2016-04-12 19:38:31      阅读:317      评论:0      收藏:0      [点我收藏+]

标签:

从键盘上输入一个整数,n=x%10,取余数,得到的结果有2种情况:

1、int n=x%10  第一次用 do while 循环,输入的数是12245, n=5; 这个时候:bs[5]=1 ; x=1224 

        第二次: x=1224, n=1224%10=4(取余数得到结果4) ,    这个时候:bs[4]=1;  x=122

        第三次: x=122 , n=122%10=2(取余数得到结果是2),     这个时候:  bs[2]=1;  x=12

        第四次: x=12,    n=12 % 10=2(取x的余数)      这个时候:bs[2]=1;  x=1  

        因为第四次判断满足条件:bs[2]==1  打印重复了,执行break,然后跳出循环;

           

 //从键盘上输入一个数,如12245,判断这个整数中的数字是否有重复
   
    int x;
    printf("请输入一个数:");
    scanf("%d",&x);
    bool bs[10]={0};
    do {
        int n=x%10;
        if ( bs[n] ==1 ) {
            printf("重复了\n");
            break; 
        }
        bs[n] = 1;
        x/=10;
    
    } 

while (x); if ( 0==x ) { printf("没有重复\n"); } return 0;

 

do
{
........

}while( )
先执行语句,在判断括号里的语句,是真再循环,假怎退出循环。
while( )
{
........
}
是先判断真假再执行,这两个语句的区别是,do while不管真假至少执行一次,while要第一次就为假就不会执行

do while 循环的图片示意图:
技术分享

判断一个数是否有重复的数字?

标签:

原文地址:http://www.cnblogs.com/CCMMBN/p/5383746.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!