这个排除含有特定数字的数再统计剩下的个数,但是我真的看不出有什么问题了
【以下回答由 GPT 生成】
问题的问题在于循环中对变量b
的修改,你在for循环中使用了b
作为循环变量,但是在循环体内又对b
进行了修改,导致循环变量失效,无法达到你的预期。解决办法是使用一个新的变量来进行循环。
#include<stdlib.h>
int main() {
int a, b, c, d;
int x=0;
int i=0;
scanf("%d", &a);
for(int num=0; num<=a; num++) {
b = num;
do {
c=b%10;
if(c==1 || c==5) {
x+=1;
}
b=b/10;
} while(b>0);
if(x>0) {
i+=1;
}
x=0;
}
d=a-i;
printf("%d", d);
}
以上是修改后的代码,其中使用一个新的变量num
来作为循环变量,而将num
赋值给 b
来进行计算。这样循环变量就能正确地进行迭代了。
【相关推荐】
你咋stdio.h都没有
供参考:
进行循环时,变量b被用作了临时变量,但是它的值也被修改了,这会导致循环出现问题,可以使用另一个临时变量