#include <stdio.h>
int main()
{
char a=0;
int num_count=0;
int space_count=0;
int other_count=0;
//注意此处,不能写成a=getchar(),然后while(a!='\n'),这样做只能输入一行,然后进行死循环
while((a=getchar())!='\n')
{
if(a>='0'&&a<='9')
{
num_count++;
}
else if(a==' ')
{
space_count++;
}
else
{
other_count++;
}
}
printf("num_count=%d\n",num_count);
printf("space_count=%d\n",space_count);
printf("other_count=%d\n",other_count);
return 0;
}
另一方法----调用函数:
#include <stdio.h>
#include <ctype.h> //对空白字符的判断,调用了isspace()函数,所以要调用头文件
int main()
{
char str[20]; //这块对输入有所限制了
int num_count=0;
int space_count=0;
int other_count=0;
char *p=str;
gets(str); //接收字符串
while(*p)
{
if(*p>='0'&&*p<='9')
{
num_count++;
}
else if(isspace(*p)) //用isspace函数来判断是不是空白字符
{
space_count++;
}
else
{
other_count++;
}
p++;
}
printf("num_count=%d\n",num_count);
printf("space_count=%d\n",space_count);
printf("other_count=%d\n",other_count);
return 0;
}
转载于:https://blog.51cto.com/ljy789/1704883