| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 787 人关注过本帖, 1 人收藏
标题:查看输入数是否有重复数字
取消只看楼主 加入收藏
blacker50
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2013-11-21
结帖率:71.43%
收藏(1)
已结贴  问题点数:18 回复次数:6 
查看输入数是否有重复数字
自己写了一个程序,是检查输入数字是否含重复数字的
eg:Enter a number: 123
No repeated digit
Enter a number: 222
Repeated digit
可是运行结果怪怪的,错了,不知道哪,能帮忙看看吗,谢谢!
#include<stdio.h>
#include<stdbool.h>
int main()
{
  bool a[10] = {false};
  int digit;
  long n;
  for(;;)
 {
  printf("Enter a number: ");
  scanf("%ld", &n);
  if(n <= 0)
  break;
  while(n > 0)
  {
   digit = n % 10;
   if(a[digit])
    break;
   a[digit] = true;
   n /= 10;
  }
   if(n > 0)
    printf("Repeated digit\n");
   else
    printf("No repeated digit\n");
 }
   return 0;
}
                             
搜索更多相关主题的帖子: repeated include number Enter false 
2014-01-17 17:18
blacker50
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2013-11-21
收藏
得分:0 
回复 2楼 pangshch
就是这个问题,谢谢啊
2014-01-18 10:16
blacker50
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2013-11-21
收藏
得分:0 
回复 3楼 pangshch
哦,谢啦,我知道你的思路了,可是有个问题,就是如果输入一个具有重复数字的数字,for语句嵌套里的if语句会循环执行,我觉得可以加个退出条件
for(i; i >= 0; i--)
{
    for(j=i; j >= 0; j--)
    {
        if(i != j && a[i]==a[j])
        {
            printf("repeated digit\n");
            goto done;
        }
    }
}
done:
if(i == -1)
{
    printf("No repeated digit");
}
}

2014-01-18 10:50
blacker50
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2013-11-21
收藏
得分:0 
回复 3楼 pangshch
我回复错了,

[ 本帖最后由 blacker50 于 2014-1-18 11:49 编辑 ]
2014-01-18 11:37
blacker50
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2013-11-21
收藏
得分:0 
回复 3楼 pangshch
是这个问题,谢谢啊
2014-01-18 11:48
blacker50
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2013-11-21
收藏
得分:0 
回复 4楼 怪叔叔
哦,谢啦,我知道你的思路了,可是有个问题,就是如果输入一个具有重复数字的数字,for语句嵌套里的if语句会循环执行,我觉得可以加个退出条件
for(i; i >= 0; i--)
{
    for(j=i; j >= 0; j--)
    {
        if(i != j && a[i]==a[j])
        {
            printf("repeated digit\n");
            goto done;
        }
    }
}
done:
if(i == -1)
{
    printf("No repeated digit");
}
}
另外,我回复错了。。。还有我想问为什么i开始不是初始化为0
2014-01-18 12:15
blacker50
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2013-11-21
收藏
得分:0 
回复 2楼 pangshch
我想问下while (scanf("%d", &x) == 1)是什么意思,不懂
2014-01-18 12:18
快速回复:查看输入数是否有重复数字
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018105 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved