0
所以我有這個代碼,但是當我運行它時,它總是說,無論我放入多少,文字的數量都是1,並希望它很容易修復。我嘗試將scanf更改爲%s,但這不起作用,因爲它只打印出第一個單詞,但它獲得了正確的單詞數量。c創建一個程序,用於統計句子中的多少個單詞,並將句子中的所有字母大寫。
#include <stdio.h>
int main()
{
int words = 0;
char ch,sen[100]="", i;
printf("Enter a sentence ended by a '.', a '?', or a '!':");
scanf("%[^\n]", sen);
while ((ch = getchar()) != '\n') {
if (ch == ' ')
words++;
}
words++;
for(i=0;sen[i];i++)
{
if((sen[i]>=97) && (sen[i]<=122))
sen[i]-=32;
}
printf("Capitalized sentence: %s\n", sen);
printf("Total number of words:%d\n", words);
return 0;
}
如果有兩個或更多'空格'在一起會發生什麼? –
我的座右銘是讓OP瞭解他的計劃中的問題,然後他可以繼續處理特殊情況。 – user2407394