輸入一行字符,分別統計出其中的英文字母、空格、數字和其他字符的個數
測試用例 1 ni12$$↵
字母=2,空格=0,數字=2,其它=2↵
下面是我寫的程序,思路就是讓ch的初始值為0,然後進入for語句循環,直到輸入回車為止,中間還加了個if ch='\n' break;用來跳出。但是無論輸入什麼結果不知為何都是0。。。我上網查說要用while((ch=getchar())!='\n') 但我不太明白我這種方式為何不可以??
#include <stdio.h>
void main()
{char ch,a=0,b=0,c=0,d=0;
for(ch=0;ch!='\n';)
{ch=getchar();
if ch='\n' break;
if(('a'<=ch&&ch<='z')||('A'<=ch&&ch<='z')) a++;
else {if(ch==' ') b++;
else {if('0'<=ch&&ch<='9') c++;
else else d++;}}}
printf("字母=%d,空格=%d,數字=%d,其他=%d",a,b,c,d);
}
if ch='\n' break;
這個刪除