把q=i放到while循环外就可以了
by bj12z_liuzhengyue @ 2024-02-22 08:01:50
```
#include<bits/stdc++.h>
using namespace std;
long long a,b;
int main(){
cin>>a>>b;
long long sum=0,q;
for(int i=a;i<=b;i++){
q=i;
while(q!=0){
if(q%10==2){
sum++;
}
q/=10;
}
}
cout<<sum;
return 0;
}
```
by bj12z_liuzhengyue @ 2024-02-22 08:02:29
@[cao_rui_xi](/user/1252034) 你的 $q$ 在每次循环的时候都赋值成了 $i$,那样每次取得都是各位,应当改成这样:
```
#include<bits/stdc++.h>
using namespace std;
long long a,b;
int main(){
cin>>a>>b;
long long sum=0,q;
for(int i=a;i<=b;i++){
q = i;
while(q!=0){
if(q%10==2){
sum++;
}
q/=10;
}
}
cout<<sum;
return 0;
}
```
by huangzhixia @ 2024-02-22 08:03:26
给个关注吧
by bj12z_liuzhengyue @ 2024-02-22 08:03:33
@[huangzhixia](/user/989007) @[bj12z_liuzhengyue](/user/757522) 谢谢
已关
by cao_rui_xi @ 2024-02-22 08:08:38