帮忙看一下程序有关问题

帮忙看一下程序问题
#include <iostream>
using namespace std;
void main()
{
char sr[100];
int yingwen=0,shuzhi=0;
cin >>sr;
for(int i=0;i<100;i++)
{
if((sr[i]>='a'&&sr[i]<='z')||(sr[i]>='A'&&sr[i]<='Z'))
yingwen=yingwen+1;
if((int)sr[i]>=0&&(int)sr[i]<=9)
shuzhi=shuzhi+1;
if(sr[i]=='\0')
break;
}
cout <<"yingwen: "<<yingwen<<endl;
cout <<"shuzhi: "<<shuzhi<<endl;
}
为什么不论sr是什么,输出的shuzhi总是1

------解决方案--------------------
#include <iostream>
using namespace std;
void main()
{
char sr[100];
int yingwen=0,shuzhi=0;
cin >>sr;
for(int i=0;i<100;i++)
{
if((sr[i]>='a'&&sr[i]<='z')||(sr[i]>='A'&&sr[i]<='Z'))
yingwen=yingwen+1;
if((int)sr[i]>='0'&&(int)sr[i]<='9')
shuzhi=shuzhi+1;
if(sr[i]=='\0')
break;
}
cout <<"yingwen: "<<yingwen<<endl;
cout <<"shuzhi: "<<shuzhi<<endl;
}

------解决方案--------------------
[code=C/C++][/code]#include <iostream>
using namespace std;
void main()
{
char sr[100];
int yingwen = 0,shuzhi = 0;
cin >> sr;
for(int i=0;i<100;i++)
{
if( ( sr[i] >= 65 && sr[i] <= 90 ) || ( sr[i] >= 97 && sr[i] <= 122 ) )
yingwen = yingwen+1;
if( sr[i] >= 48 && sr[i] <= 57 )
shuzhi = shuzhi+1;
if( sr[i] == '\0' )
break;
}
cout <<"yingwen: "<<yingwen<<endl;
cout <<"shuzhi: "<<shuzhi<<endl;
}