c++编程实现输入一串字符,分别统计数字字符、大、小写字母、其它字符的个数

 我来答
水乡判官
2012-06-05 · TA获得超过440个赞
知道小有建树答主
回答量:154
采纳率:0%
帮助的人:84.5万
展开全部
遍历一次就够了,核心伪代码如下:
while(没到字符串尾)
{
if(数字字符){数字字符数++;}
else if(大写字母){大写字母数++;}
else if(小写字母){小写字母数++;}
else {其它字符数++;}
}
晨光0920
推荐于2018-04-26 · 超过20用户采纳过TA的回答
知道答主
回答量:50
采纳率:100%
帮助的人:39.9万
展开全部
#include<iostream>
using namespace std;
void main(){
int ch;
int nnum=0,nWORD=0,nword=0,nch=0; //分别表示数字字符、大、小写字母、总字符的个数
cout<<''输入一段文本:''<<endl;
do{
ch=cin.get();
if(ch>='0'&&ch<='9') nnum++; //遇数字字符,数目加一
if(ch>='A'&&ch<='Z') nWord++; //遇大写字母,数目加一
if(ch>='a'&&ch<='z') nword++; //遇小写字母,数目加一
if(ch!=' '&&ch!=‘\t’&&ch!=‘\n’&&ch!=EOF) nch++; //读到非间隔符,即字符,数目加一
}while(ch!=EOF);
cout<<''数字字符数:''<<nnum<<endl;
cout<<''大写字母数:''<<nWORD<<endl;
cout<<''小写字母数:''<<nword<<endl;
cout<<''其他字符数:''<<nch-nnum-nWORD-nword<<endl; //总字符数减去上述字符数即得
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
freeoflyer
2012-06-08
知道答主
回答量:19
采纳率:0%
帮助的人:5.7万
展开全部
#include<iostream>
using namespace std;
void main()
{
int di=0,bc=0,sc=0,el=0; //数字,大写字母,小写字母,其它字符个数,初值为0。
int n; //字符数组大小。
cin>>n;
char* arr=new char[n+1]; //定义字符数组arr,包含n个字符,最后一位为空字符。
cin>>arr;
for(int i=0;i<n;i++)
{
if ( isdigit ( arr[i] )
di++;
else if ( isoupper arr[i] )
bc++;
else if ( islower arr[i] ) //isdigit,isoupper,islower是库函数,用来判断是否数字,大写,小写
sc++;
else
el++;
}
cout<<di<<' '<<bc<<' '<<sc<<' '<<el<<endl;
}

特别说明,如果有字符串有空格,可以用cin.get(arr,n);而不使用cin>>arr;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式