1.判断一个数字含有2的个数

记数为a,他所含的2的个数为sum,初始为0。
一个数模10等于2,说明个位为2,sum加1。再判断a数的倒数第二位(十位),直至最高位。

while(a!=0){
	sum=a%10==2?sum+1:sum;
    a/=10;
}
2.使用循环从L判断到R即可。
#include<bits/stdc++.h>
using namespace std;
int main(){
    int L=0,R=0,sum=0;
    cin>>L;
    cin>>R;
    for(int i=L;i<=R;i++){
        int tmp=i;
        while(tmp!=0){
            sum=tmp%10==2?sum+1:sum;
            tmp/=10;
        }
    }
    cout<<sum<<endl;
}