修改程序,使其可以显示哪些数字有重复(如果有的话)

#include
#define true 1
#define false 0
typedef int bool;
int main(void)//检查数中重复出现的数字
{
bool digit_seen[10]={false};
int digit;
long n;
printf("Enter a number:");
scanf("%d",&n);
while(n>0){
digit=n%10;

if (digit_seen[digit]==true)
break;
digit_seen[digit]=true;
n/=10;
}
if(n>0)

printf("Repeatd digit(s):\n");
else
printf("No repeated digit\n");
return 0;
}
我的思路是设一个数组,把有重复的digit存入数组中,下标循环自加。但是首先你不知道会有多少个重复,所以数组的长度也定不了。。。。

另外实现的结果应为:
Enter a number:939577
Repeated digit: 7 9

c

2个回答

修改
int digit_seen[10]={0};
循环里面
digit=n%10;
digit_seen[digit] += 1;

最后取出数组大于1的就行了

whyyouhitme_
whyyouhitme_ 回复qq_41650077: 哦哦
接近 2 年之前 回复
qq_41650077
qq_41650077 回复whyyouhitme_: _(:зゝ∠)_不是只要取出n里包含的重复数吗?把digit_seen[10]对应0-9的个数,在循环里把输入数字拆开,一一对应digit_seen[digit]+1,最后输出的时候取出个数大于1的对应数字不就行了吗?
接近 2 年之前 回复
whyyouhitme_
whyyouhitme_ 能否劳驾把改完的完整代码贴一下
接近 2 年之前 回复
whyyouhitme_
whyyouhitme_ 循环里只有这两句吗?另外,如果输入的数字是1009,那么重复数为0,只取大于1的数是否有漏洞?
接近 2 年之前 回复

我用我的方法基本实现 了,但是出现了歧义,就是我设了一个数组(长度10),把重复出现的数字存在数组中,最后一并输出,但是无法解决该数组长度问题,导致除了重复数外,还连带输出了很多0(初始为10个0),然后一旦数字里有重复的0的话,也容易产生歧义
#include
#define true 1
#define false 0
typedef int bool;
int main(void)//检查数中重复出现的数字
{
bool digit_seen[10]={false},flag=0;
int i=0,digit,digits[10]={0};
long n;
printf("Enter a number:");
scanf("%d",&n);
while(n>0){
digit=n%10;
if (digit_seen[digit]==true){
digits[i]=digit;i++;
flag=1;
}
digit_seen[digit]=true;
n/=10;
}
if(flag==1)
{
printf("Repeatd digit(s):");
for(i=0;i<10;i++)
printf(" %d",digits[i]);
}
else
printf("No repeated digit\n");
return 0;
}

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问

相似问题

5
eclipse中运行java web项目时,一直显示修改之前的
1
如何修改kindeditor编辑器显示内容的行高
2
为实现一个需求,专机专用 电脑只运行我的程序,我修改了注册表Shell的值为我程序的路径
4
python中有子程序吗?如果没有,如何在函数中优雅地修改传递进来的参数?
3
linux 修改密码不能重复问题
4
设计一款数字时钟,实时显示时间设置修改时间,有倒计时功能。求大神解答
3
微信小程序web-view中url问题
2
datagridview提示重复 怎么让光标跳回到重复的单元格 并且不修改进入下一单元格 仍会跳回
1
日志打印——logback打印出来的日志无法操作(显示程序被占用)
9
数据库多个表有重复的字段
3
为什么两个一模一样代码属性和结构的C#程序,一个可以拖动文件到窗体,另一个却拖不上去?
1
小程序中使用vuex开发v-html的样式加载不出来
1
怎样实现labview程序开始运行后,下拉列表的值不能再修改
1
请问用系统环境变量来存储桌面程序设置相关参数有什么优点和缺点?
2
希望找一个能帮我修改的程序的人
1
VS2010资源视图中修改了菜单和工具栏并正确编译后,程序出现的和编辑的不一样
1
c语言要怎么可以连续输入,以特定字符结束程序
1
C#如何修改系统显示的缩放比例
2
C#中是否可以使用静态变量实现某个窗口只在程序第一次使用时打开?
0
Hololens中显示的模型、UI半透明,都有什么方法可以修改透明度?