用C++编写一个程序。输入一行字符。输出其中的英文字母 数字字符和其他字符各有多少个?

如题所述

第1个回答  2013-11-11
#include<stdio.h>
#include<string.h>
main()
{
char s[80];
gets(s);
int i,digit=0,alpha=0,alpha_cap=0,misc=0;
for(i=0;i<strlen(s);i++){
if(s[i]>='0' && s[i]<='9'){
digit++;
}else if(s[i]>='a' && s[i] <= 'z'){
alpha++;
}else if(s[i]>='A' && s[i] <= 'Z'){
alpha_cap++;
}else{
misc++;
}
}
printf("There are %d digits, %d alphabets(%d capitalized), %d othercharaters\n",digit,alpha+alpha_cap,alpha_cap, misc);

}本回答被网友采纳
第2个回答  2013-11-11
#include<stdio.h>
#include<stdlib.h>
void main()
{
int letter=0,blank=0,num=0,other=0; //分别定义为字母,空格,数字,其他的字符个数
char* str=(char*)malloc(10);
printf("input a string\n");
gets(str);
while(*str!='\0')
{
if('a'<=*str<'z' || 'A'<=*str<'Z')
{
letter++;
}
else if(0<=*str<=9)
{
num++;
}
else if(*str==' ')
{
blank++;
}
else
{
other++;
}
}
printf("%d%d%d%d",letter,blank,num,other);
}
相似回答