c語言字元個數統計
『壹』 C璇璦緙栧啓錛氳緭鍏ヤ換鎰忎竴涓插瓧絎︿覆錛岀粺璁¤ュ瓧絎︿覆涓鍑虹幇鐨勫瓧絎a鐨勪釜鏁幫紝騫惰緭鍑哄叡緇熻$殑涓鏁般
浠g爜濡備笅錛
/*緙栫▼浠庨敭鐩樿緭鍏ヤ竴涓瀛楃︿覆錛岀粺璁¤ュ瓧絎︿覆涓浠'a'鍒'z'鍏26涓灝忓啓瀛楁瘝鍚勮嚜鍑虹幇鐨勬℃暟錛
灝嗙粨鏋滃瓨鍏ユ暟緇勪腑錛屽苟杈撳嚭*/
#include<stdio.h>
#include<string.h>
#define N 100
main()
{int i,j=0,c[26]={0};
char str[N];
printf("璇瘋緭鍏ヤ竴涓瀛楃︿覆錛");
gets(str);
for(i=0;i<strlen(str);i++)/*澶栧驚鐜鎵鎻/閬嶅巻瀛楃︽暟緇*/
for(j=0;j<26;j++)
if(str[i]=='a'+j)
{c[j]++;
break;
}
for(i=0;i<26;i++)
printf("%c-%d ",'a'+i,c[i]);/*杈撳嚭瀛楁瘝a-z鍙婂叾鍑虹幇鐨勬℃暟*/
}
鎵╁睍璧勬枡
瀛楃︿覆甯擱噺涓庡瓧絎︽暟緇勭殑鍖哄埆
1錛夊瓧絎︿覆甯擱噺鏄涓涓瀛楃︽暟緇勶紝浣嗘槸鍐呭瑰拰闀垮害鍦ㄥ垵濮嬪寲鏃跺氨宸茬粡鍥哄畾浜嗭紝涓嶅彲鏇存敼錛涘彲浠ラ氳繃涓涓鎸囧悜瀛楃︿覆甯擱噺絎涓涓鍏冪礌鐨勬寚閽堟潵璁塊棶璇ュ瓧絎︿覆甯擱噺錛
2錛夊瓧絎︽暟緇勬槸涓涓鐢ㄤ簬瀛樻斁瀛楃︾殑鏁扮粍錛屽瓧絎︽暟緇勭殑鍊兼槸鍙浠ユ洿鏀圭殑銆
甯哥敤瀛楃︿覆鍑芥暟錛
1銆佸嶅埗瀛楃︿覆
C 璇璦涓浣跨敤搴撳嚱鏁 strcpy 鏉ヨ繘琛屽瓧絎︿覆澶嶅埗鎿嶄綔錛
char *strcpy(char *dst , char const *src);
鍑芥暟 strcpy 鎺ユ敹涓や釜瀛楃︿覆鍙傛暟錛屽苟灝嗗弬鏁 src 瀛楃︿覆澶嶅埗鍒 dst 鍙傛暟銆備嬌鐢 strcpy 鍑芥暟鏃墮渶瑕佹敞鎰忕殑鏄錛屽繀欏諱繚璇佺洰鏍囧瓧絎︽暟緇 dst 鐨勯暱搴﹁凍澶熷瓨鏀炬簮瀛楃︽暟緇 src 鐨勫唴瀹廣
濡傛灉 src 姣 dst 闀匡紝鍒 src 鍓╀綑閮ㄥ垎鐨勫瓧絎︿粛浼氳澶嶅埗錛岃屼笖瀹冧滑浼氳嗙洊 dst 鍚庨潰鐨勫唴瀛樼┖闂寸殑鍊礆紝濡傛灉榪欓櫎鍐呭瓨絀洪棿鍘熸湰灝卞瓨鏀炬湁鍊礆紝鍒欎細瀵艱嚧鍘熸湰鐨勬暟鎹涓㈠け錛岃繖鏍蜂細閫犳垚寰堜弗閲嶇殑鍚庢灉銆備負浜嗚В鍐寵繖涓闂棰橈紝 C 璇璦涓鎻愪緵浜嗕竴縐嶆洿涓哄畨鍏ㄧ殑鏂瑰紡鏉ヨ繘琛屽瓧絎︿覆澶嶅埗鎿嶄綔鈥斺攕trncpy 鍑芥暟錛
char *strncpy(char *dst , char const *src , size_t len);
2銆佽繛鎺ュ瓧絎︿覆
C 璇璦涓浣跨敤搴撳嚱鏁 strcat 鏉ヨ繛鎺ヤ袱涓瀛楃︿覆錛
char *strcat(char *dst,char const *src);
鍑芥暟 strcat 灝嗗弬鏁 src 瀛楃︿覆榪炴帴鍒板弬鏁 dst 瀛楃︿覆鐨勫悗闈銆備笌 strcpy 鍑芥暟涓涓鍚屾牱鐨勯棶棰樻槸錛屽繀欏諱繚璇 dst 鐨勫墿浣欑┖闂磋凍澶熷瓨鏀句笅 src 鏁翠釜瀛楃︿覆銆侰 璇璦涓鎻愪緵浜 strncat 鍑芥暟鏉ヨВ鍐寵繖涓闂棰橈細
char *strncat(char *dst , char const *src , size_t len);
strncat 鍑芥暟浠 src 涓鏈澶氬嶅埗 len 涓瀛楃﹀埌鐩鏍囨暟緇 dst 鍚庨潰錛屽苟涓旓紝strncat 鎬繪槸鍦ㄧ粨鏋滃瓧絎︿覆鍚庨潰娣誨姞涓涓 NUL 瀛楄妭錛岃屼笖涓嶄細鍍 strncpy 鍑芥暟閭f牱瀵 dst 鍓╀綑鐨勭┖闂寸敤 NUL 榪涜屽~鍏呫
『貳』 用c語言編程,字元統計:輸入一個文本文件,分別統計出其中英文字母、空格、數字和其它字元的個數
#include <stdio.h>
int main()
{
char c;
int letters=0,space=0,digit=0,other=0;
printf("請輸入一行字元:");
while ((c=getchar())!=' ')
{
if (c >= 'a'&&c <= 'z' || c >= 'A'&&c <= 'Z')
{
letters++;
}
else if (c == ' ')
{
space++;
}
else if (c >= '0'&&c <= '9')
{
digit++;
}
else
{
other++;
}
}
printf("字母數:%d 空格數:%d 數字數:%d 其他字元:%d ",letters,space,digit,other);
return 0;
}
運行效果:
(2)c語言字元個數統計擴展閱讀
printf函數使用注意事項
1、域寬
%d:按整型數據的實際長度輸出。
如果想輸出指定寬度可以指定域寬,%md-->m域寬,列印出來以後,在控制台上,顯示m位;
如果我們要列印的數的位數如果超過我們設定m則原樣輸出;
如果我們要列印的數的位數如果小於我們設定的位數,則補空白,具體如下:
如果m為正數,則左對齊(左側補空白);
如果m為負數,則右對齊(右側補空白)。
2、轉義字元
如果想輸出字元"%",則應該在「格式控制」字元串中用連續兩個%表示。
如:printf("%f%%",1.0/3);輸出結果:0.333333%。
『叄』 用c語言編程,對輸入的一行字元進行統計分析,要求統計並輸出出現的數字字元及其個數(用冒號分隔)
C代碼和運行結果如圖:
輸出符合樣例,望採納~
附源碼:
#include <stdio.h>
int main() {
char s[100]; // 輸入不超過100字元
int i = 0, cnt[10] = {0}; // 0-9每個數字字元個數統計
fgets(s, 100, stdin); // 讀入一行字元,包括換行符' '
while (s[i] != ' ') { // 遇到換行即到結尾,改成空字元'