c++的题目:输入一行字符,分别统计出其中英文字母、空格、数字、和其他字符的个数。

 我来答
匿名用户
推荐于2018-05-09
展开全部
只要做一个循环,求每一个字符的ASCII码,然后进行比较便可以得出其的总数
char *str1[]="abcde 123456 6/\{}"
int a[4]={0};
char temp_data;
unsigned char temp_data;
int i;
for(i=0;i<strlen(str1);i++)
{
temp_data=str1[i];
if(temp_data>=0x30 &&temp_data<=39) a[0]++;
else
if((temp_data>=0x41 &&temp_data<=5a)||(temp_data>=0x61 &&temp_data<=7a)) a[1]++;
else
if(temp_data==0x20) a[2]++;
else a[3]==;
}
for(i=0;i<4;i++)
{
printf("%d",a[i]);
}
金色潜鸟
2013-11-01 · TA获得超过3.2万个赞
知道大有可为答主
回答量:1.3万
采纳率:89%
帮助的人:5670万
展开全部
#include <iostream>
using namespace std;
#include <stdio.h>
int main(){
char x;
int digi=0,sp=0,letter=0,other=0;
while ( (x=cin.get()) != '\n'){
if (x>='0' && x <='9') digi++;
else if (x>='a' && x <='z') letter++;
else if (x>='A' && x <='Z') letter++;
else if (x == ' ') sp++;
else other++;
}
printf("letter: %d, space: %d, digi: %d, other: %d\n",letter,sp,digi,other);

return 0;
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式