溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

c語(yǔ)言怎樣實(shí)現(xiàn)統(tǒng)計(jì)字符串中各個(gè)字符的個(gè)數(shù)

發(fā)布時(shí)間:2020-05-18 16:35:12 來(lái)源:億速云 閱讀:1992 作者:Leah 欄目:編程語(yǔ)言

c語(yǔ)言怎樣實(shí)現(xiàn)統(tǒng)計(jì)字符串中各個(gè)字符的個(gè)數(shù)?針對(duì)這個(gè)問(wèn)題,今天小編總結(jié)這篇有關(guān)c語(yǔ)言統(tǒng)計(jì)字符的文章,希望幫助更多想解決這個(gè)問(wèn)題的朋友找到更加簡(jiǎn)單易行的辦法。

目標(biāo):

輸入一行字符,統(tǒng)計(jì)其中各種字符的個(gè)數(shù)。

具體代碼:

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define M 1024
void main() {
	char str[M];
	fgets(str, M, stdin);
	int space = 0;
	int letter = 0;
	int num = 0;
	int other = 0;
	for (int i = 0; i < (int)strlen(str); ++i) {
		if (str[i] == ' ') {
			space += 1;
		}
		else if (str[i] > 64 && str[i] < 91 || str[i]>96 && str[i] < 123)  {
			letter += 1;
		}
		else if (str[i] > 47 && str[i] < 58)  {
			num += 1;
		}
		else {
			if (str[i] != '\n') {//因?yàn)閒gets()函數(shù)會(huì)在末尾自動(dòng)加上\n,影響判斷結(jié)果,需要判斷是否為換行符
				other += 1;
			}
		}
	}
	printf("空格的個(gè)數(shù)為:%d\n", space);
	printf("英文字母的個(gè)數(shù)為:%d\n", letter);
	printf("數(shù)字的個(gè)數(shù)為:%d\n", num);
	printf("其他字符的個(gè)數(shù)為:%d\n", other);
	system("pause");
}

注意:fgets()函數(shù)會(huì)在字符串末尾(\0前)讀入我們?cè)阪I盤(pán)上敲的回車(chē)即換行符\n。

運(yùn)行結(jié)果如下:

c語(yǔ)言怎樣實(shí)現(xiàn)統(tǒng)計(jì)字符串中各個(gè)字符的個(gè)數(shù)

看完上述內(nèi)容,你們掌握c語(yǔ)言統(tǒng)計(jì)字符串中各個(gè)字符個(gè)數(shù)的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI