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]);
}
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]);
}
展开全部
#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;
}
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;
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询