【程序17】 题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数

注意

c >= 'a'&&c <= 'z'
与
'a' <= c <= 'z'
并不相同
运算符根据自左向右的结合行
先运算'a' <= c
值为1 or 0
然后再与‘z’比较
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
/*
【程序17】
题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
*/

int main(void){
	int letters = 0, spaces = 0, digits = 0, others = 0;
	char c;
	printf("请输入字符串:\n");
	while ((c = getchar()) != '\n')
	{
		if ((c >= 'a'&&c <= 'z') || (c >= 'A'&&c <= 'Z'))
		{
			letters++;
		} 
		else if (c == ' ')
		{
			spaces++;
		}
		else if (c >= '0'&&c <= '9')
		{
			digits++;
		}
		else
		{
			others++;
		}
	}
	printf("字母=%d,数字=%d,空格=%d,其他=%d\n", letters, digits, spaces, others);
	return 0;
}

猜你喜欢

转载自blog.csdn.net/weixin_43328180/article/details/86220585