您好、欢迎来到现金彩票网!
当前位置:2019欢乐棋牌 > 作业录入 >

c语言作业:输入一个整数判断该数的每位数字是否都不相同如果是

发布时间:2019-08-07 01:16 来源:未知 编辑:admin

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  展开全部你应该控制输入的位数,比如值允许输入个四位数,要不然后面不太好判断

  展开全部不好意思啊,刚才分析错了,while循环是必要的,你的错误主要还是1.if(a=b)应该为if(a==b)

  2.如果各位数字均不相同,flag=1,那么while循环无法结束...

  原先我修改的程序,输入100,123,555都没有问题,但是输入112,445却也输出yes,很明显是不正确的,后来修改的程序,若输入112,445,输出no,是满足要求的....

  上述程序,当输入18621时,仍然会输出yes,也是不正确的,问题可能出在for循环上,所以建议用while循环,(我试过,for循环这样写也是可以的:for(;temp!=0;temp/=10){b=temp%10;.....}最后的代码修改如下:

  a=n%10;//第一次循环时a为n的个位数字,在while内循环中分别和n的高位数字进行比较;第二次循环时,a为n的十位数字,在while内循环中和高位值进行比较(低位在上一循环中已经比较过了,不再比较).....然后依次类推,直到循环结束(如果n的每位数字都不同,那么a最高可为n的最高位数字)...

  temp/=10;//for循环中,这一语句也能正常执行,如果用for循环,这一语句删除...

  如果不想要输出那么多数据,也就是只输出yes或no,那么可以对照你的程序,把我添加的printf语句删除...

http://aunthelens.com/zuoyeluru/292.html
锟斤拷锟斤拷锟斤拷QQ微锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷微锟斤拷
关于我们|联系我们|版权声明|网站地图|
Copyright © 2002-2019 现金彩票 版权所有