您好,登錄后才能下訂單哦!
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é)果如下:
看完上述內(nèi)容,你們掌握c語(yǔ)言統(tǒng)計(jì)字符串中各個(gè)字符個(gè)數(shù)的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!
免責(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)容。