c语言问题。输入一行字符,统计数字字符(0-9),字符(a~z. A~z)及其他字符的个数

c语言问题。输入一行字符,统计数字字符(0-9),字符(a~z. A~z)及其他字符的个数

第1个回答  2013-11-26
你好,代码如下,已通过编译运行。
#include<stdio.h>
#include<string.h>
int main(void)
{
char ca[100] = "";
printf("input a string:\n");
gets(ca);

int a= 0,b=0,c=0;
char *p = ca;
while(*p != '\0')
{
if(*p >= '0' && *p<= '9') a++;
else if((*p>='a'&&*p<='z')||(*p>='A'&&*p<='Z')) b++;
else c++;
p++;
}
printf("数字个数:%d\n字母个数:%d\n其他字符个数:%d\n",a,b,c);
return 0;
}本回答被网友采纳
第2个回答  2013-11-26
简单:
int count=0;
for(i=0;a[i]!='\0';i++)
if(a[i]>='0'||a[i]<='9||a[i]>='a'||a[i]<='z'||a[i]>='A'||a[i]<='Z')
count++;
printf("%d\n",count); //统计的个数是:本回答被提问者采纳
第3个回答  2013-11-26
#include"stdio.h" /*统计字母,数字和其他字符的个数*/
void main()
{
int a1=0,a2=0,a3=0;
char x;
printf("输入一组以#结尾的字符:");

while((x=getchar())!='#') //这里改过
{
if((x>='a'&&x>='z')||(x>='A'&&x<='z'))
a1++;
else if(x>='0'&&x<='9')
a2++;
else a3++;
}
printf("字母的个数为%d\n数字的个数为%d\n其他字符的个数为%d\n",a1,a2,a3);
}

这是在别人的问题上粘贴过来的
第4个回答  2013-11-26
#include <stdio.h>
#include <stdlib.h>
#include<string.h>
int main()
{
char a[100];
int i,s=0,q=0,w=0;
printf("请输入一句话:");
gets(a);/* 不能用scanf(),否则无法输入空格 */
for(i=0;i<strlen(a);i++)//句长限定
{
if((a[i]>='a'&&a[i]<='z')||(a[i]>='A'&&a[i]<='Z'))
s++;
if((a[i]>='0'&&a[i]<='9'))
q++;
if((a[i]>='!'&&a[i]<='/')||(a[i]>=':'&&a[i]<='@')||(a[i]>='['&&a[i]<=96)||(a[i]>='{'&&a[i]<='~'))
w++;

}
printf("句子中字母有%d个,句子中数字有%d个,句子中字符有%d个\n",s,q,w);
return 0;
}
相似回答