程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> c語言-C語音課後習題,答案不能輸出。在線等~謝謝

c語言-C語音課後習題,答案不能輸出。在線等~謝謝

編輯:編程綜合問答
C語音課後習題,答案不能輸出。在線等~謝謝

輸入一行字符,統計字母,空格,數字,其他字符,結果不能輸出,我看了答案和我的程序一樣的。。。
代碼如下
#include
int main()
{
int i=0,j=0,k=0,s=0;
char c;
printf("please input string:\n");
c=getchar();
while(c!='\n')
{
if(c>='A'&&c<='Z'||c>='a'&&c<='z')i=i+1;
else if(c==' ')j=j+1;
else if(c>='0'&&c<='9')k=k+1;
else s=s+1;
}
printf("word:%d\n space:%d\n number:%d\n other:%d\n",i,j,k,s);
return 0;
}

輸出如下:圖片說明

最佳回答:


是這樣的,你使用的變量c是一個字符而不是字符串,而你在輸入的時候敲入的第一個字符是i,所以c就等於字符i,所以在你的循環體裡面,c永遠不會等於'\n',那麼該while循環就會一直執行下去,所以當你輸入了這一行字符串之後,程序進入了死循環,從而導致了程序後續沒有輸出的結果。
如果要寫出正確的程序,就不該用字符變量c,而是使用字符串(也就是字符構成的數組),然後在while循環中逐個檢查字符串中的元素,進行計數和統計,然後用字符串的結束符號'\0'來作為循環結束的條件。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved