第1个回答 2013-11-05
/*#include<ctype.h>中有对字符判断的函数,可以判断是否是字母、数字、空格、字符等,你可以自己去查一查*/
#include<stdio.h>
#include<ctype.h>
#include<string.h>
void main ()
{
char a[100];
int len;
int nchar=0,nspace=0,nnum=0,nother=0;//字母、空格、数字、其他字符的个数
gets(a);
len=strlen(a);
for(int i=0;i<len;i++)
{
if(isalpha(a[i]))
nchar++;
else if(isspace(a[i]))
nspace++;
else if(isdigit(a[i]))
nnum++;
else
nother++;
}
printf("字母个数:%d\n",nchar);
printf("空格个数:%d\n",nspace);
printf("数字个数:%d\n",nnum);
printf("其他个数:%d\n",nother);
getchar();
}
第2个回答 2013-11-05
#include<stdio.h>
void main()
{
int letter=0,number=0,blank=0,other=0;
char c; //用来读取每个字符
while ((c=getchar()())!='\n') //当读入的是回车即为结束运算
{
if((c>='A'&&c<='Z')||(c>='a'&&c<='z'))
letter++;
else if(c>='0'&&c<='9')
number++;
else if(c==' ')
blank++;
else other++;
}
printf("letter=%d,number=%d,blank=%d,other=%d",letter,number,blank,other);
}
第3个回答 2013-11-05
用asc码区分。每次输入就判断一次
第4个回答 2013-11-05
#include <stdio.h>
int main()
{
int _a=0,_b=0,_c=0,_d=0;
char c;
c=getchar();
while(c!='\n')
{ if(c<='z'&&c>='a'||c<='Z'&&c>='A') _a++;
else if(c>47&&c<58) _b++;
else if(c=' ') _c++;
else _d++;
c=getchar();
}
printf("字母有“%d”个\n",_a);
printf("数字有“%d”个\n",_b);
printf("空格有“%d”个\n",_c);
printf("其他字符有“%d”个\n",_d);
return 0;
}