C如何找到重复的数字
如何找到重复的数字并将其导出 输入您的号码:226644 重复数字:2 6 4 我试图解决这个程序,但我失败了。我已经张贴了我的编码,谢谢你的帮助C如何找到重复的数字,c,C,如何找到重复的数字并将其导出 输入您的号码:226644 重复数字:2 6 4 我试图解决这个程序,但我失败了。我已经张贴了我的编码,谢谢你的帮助 #include<stdio.h> #include<stdbool.h> int main(){ int i, j, n ; int a[10], m = 10; bool b[10] = {false}; printf("Enter your digit:"); scanf("%
#include<stdio.h>
#include<stdbool.h>
int main(){
int i, j, n ;
int a[10], m = 10;
bool b[10] = {false};
printf("Enter your digit:");
scanf("%d", &n);
while(n > 0){
j = n % 10;
if(b[j] ){
printf("The repeated digit is:");
if( m != j){
m = j;
printf("%3d", m);
}
b[j] = true;
n /= 10;
}
}
if(m == 10){
printf("There is no repeated digit!");
}
return 0;
}
#包括
#包括
int main(){
inti,j,n;
int a[10],m=10;
bool b[10]={false};
printf(“输入您的数字:”);
scanf(“%d”和“&n”);
而(n>0){
j=n%10;
if(b[j]){
printf(“重复的数字是:”);
如果(m!=j){
m=j;
printf(“%3d”,m);
}
b[j]=真;
n/=10;
}
}
如果(m==10){
printf(“没有重复的数字!”);
}
返回0;
}
移动n/=10代码>向上一级-在中,而不是在循环中,如果,则不在子中。现在您有了无限循环。除了i486的校正,还有行
b[j] = true;
必须从if(b[j]){…}
块中移出(之后);否则,任何b[j]
都不会变成true
请解释您想要实现的目标和出现的问题<代码>布尔b[10]={false}代码>将仅初始化第0个元素。剩下的就不会了。未定义的行为时间。你想写一些关于预期行为、测试用例……的内容吗?你的标题错了-你在寻找重复的数字,而不是数字!我需要一些时间来理解这个错误的问题。我正在寻找被删除的数字,对不起