标题:查看输入数是否有重复数字
取消只看楼主
blacker50
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2013-11-21
结帖率:71.43%
已结贴  问题点数: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



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-426617-1-1.html




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

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