輸人一行字符,分別統計出其中英文字母、空格、數字和其他字符的個數


輸人一行字符,分別統計出其中英文字母、空格、數字和其他字符的個數

答案解析:

該題可以調用getchar函數,從stdin流中讀入一個字符,當輸入多個字符時,getchar()再執行時就會直接從緩沖區中讀取了。等同於getc(stdin)。所以,我們循環調用getchar,直到將標准輸入的內容讀到換行符\n為止。同時判斷,讀取到的字符是英文字母、空格、數字或者其他字符,並計數;

代碼示例:

#include <stdio.h>

int main()
{
	char c;
	//定義eng_char為英文字母的個數,初始值為0
	//定義space_char為空格字符的個數,初始值為0
	//定義digit_char為數字字符的個數,初始值為0
	//定義other_char為其他字符的個數,初始值為0
	int eng_char = 0, space_char = 0, digit_char = 0, other_char = 0;
	printf("請輸入一行字符:");
	while ((c = getchar()) != '\n')
	{
		if (c >= 'a' && c <= 'z' || c >= 'A' && c <= 'Z')
		{
			eng_char++;
		}
		else if (c == ' ')
		{
			space_char++;
		}
		else if (c >= '0' && c <= '9')
		{
			digit_char++;
		}
		else
		{
			other_char++;
		}
	}

	printf("英文字母數量:%d\n空格數量:%d\n數字數量:%d\n其他字符數量:%d\n", eng_char, space_char, digit_char, other_char);
	return 0;
}

運行截圖:

輸人一行字符,分別統計出其中英文字母、空格、數字和其他字符的個數


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM