首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

帮忙看一下程序有关问题

2012-05-29 
帮忙看一下程序问题#include iostreamusing namespace stdvoid main(){char sr[100]int yingwen0,shu

帮忙看一下程序问题
#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;
}

热点排行