```cpp
#include<bits/stdc++.h>
using namespace std;
int main(){
int a,b,s=0;
cin>>a>>b;
for(int i=a;i<=b;i++){
int j=i;
while(j!=0){
if(j%10==2){
s++;
}
j=j/10;
}
break;
}
cout<<s;
}
```
改了后只会输出1
by Etic_HAO @ 2022-08-02 18:51:56
你的源程序15行
```cpp
......
}
break;
}
......
```
不能有break,否则程序会在第一次循环结束。
删掉就好了:
```cpp{
#include<bits/stdc++.h>
using namespace std;
int main(){
int a,b,s=0;
cin>>a>>b;
for(int i=a;i<=b;i++){
int j=i;
while(j!=0){
if(j%10==2){
s++;
}
j=j/10;
}
}
cout<<s;
}
```
by Respects_H @ 2022-08-03 22:26:30
亲测有效
by Respects_H @ 2022-08-03 22:27:17