修改如下,供参考:
#include<iostream>
using namespace std;
int main()
{
int l,r,a[10]={0},b,i;
cin>>l>>r;
for(i=l;i<=r;i++){
b = i;
while(b)//修改
{
a[b%10]++;
b /= 10;//修改
}
}
cout<<a[2]<<endl;
return 0;
}
a[b%10]++并没有改变b的值啊,所以你这是个死循环
while(b>0)
{
b = b%10;
a[b]++;
}