c++输入一行字符串,要求分别统计出其中英文大写字母、小写字母、数字、空格以及其他字符的个数。谁会啊?

来源:百度知道 编辑:UC知道 时间:2024/06/24 23:51:11

你必须包含ctype.h
然后使用isupper,islower,isdigit,isspace分别判断大写,小写,数字,和空格,当然如果你熟悉ascii表,可以直接根据值的大小来判断字符的属性.

#include "stdio.h"
#include "string.h"
void main()
{
char str[100],m;
int i,n,space=0,num=0,letter=0,other=0;
printf("请输入一串字符!按回车结束!\n");
gets(str);
n=strlen(str);
for(i=0;i<=n-1;i++)
{
m=str[i];
if(m==32)space++;
else if(m>='A'&&m<='Z'||m>='a'&&m<='z')letter++;
else if(m>='0'&&m<='9')num++;
else other++;
}
printf("有字母%d个,数字%d个,空格%d个,其他字符%d个。",letter,num,space,other);
}

#include <stdio.h>
#include <stdlib.h>

int main()
{
char c;
int digit = 0, upper = 0, lower = 0, space = 0, other = 0;
while (scanf("%c", &c) == 1 && c != '\n')
{
if (isdigit(c