例52:輸入一行字符,C語言編程分別統計出其中英文字母、空格、數字和其他字符的個數。
解析:首先要手動錄入信息,但是scanf函數不記錄空格,所以首先鍵盤錄入要用getchar函數。
源代碼演示:
#include//頭文件 int main()//主函數 { char input_Character;//定義字符變量 int letters=0,space=0,digit=0,other=0;//定義整型變量且賦初值 printf("請輸入一行字符:");//提示語句 while((input_Character=getchar())!='\n') //getchar函數錄入,可以把空格也算做字符 { if(input_Character>'a'&&input_Character<'z'||input_Character>'A'&&input_Character<'Z')//如果是字母 { letters++;//letters加1 } else if(input_Character==' ')//如果是空格 { space++;//sapce加1 } else if(input_Character>='0'&&input_Character<='9')//如果是數字 { digit++;//digit加1 } else { other++;//other加1 } } printf("字母:%d個\n",letters);//輸出字母個數 printf("空格:%d個\n",space);//輸出空格個數 printf("數字:%d個\n",digit);//輸出數字個數 printf("其他字符:%d個\n",other);//輸出其他字符個數 return 0;//主函數返回 }

編譯運行結果如下:
請輸入一行字符:kk 34! 字母:2個 格:1個 數字:2個 其他字符:1個 -------------------------------- Process exited after 15.16 seconds with return value 0 請按任意鍵繼續. . .
小林盲猜,有讀者不理解這行代碼:
while((input_Character=getchar())!='\n')
打過ACM的讀者應該明白,小林在這里解釋一下,這句代碼翻譯成中文的意思是,當輸入的字符不少換行時,也就是,鍵盤輸入字符一直沒有點擊enter鍵換行。
C 語言
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。