如何使用gets()
或fgets()
來計算字長並輸出它們的出現?例如,這裏是代碼這樣做,但使用下面的getchar()
。我認爲在gets()
中編寫它可以更容易地將所有分隔符合併到程序中,而不是必須手動設置每個分隔符的語句嗎?C編程:計算字符串中出現的字長
#include <string.h>
#include <ctype.h>
const char delim[] = ", . - !*()&^%$#@<> ? []{}\\/\"";
#define SIZE 100
int main(void){
int length[SIZE] = { 0 };
int name[SIZE];
int i = 0, ch, word_len = 0;
int count = 0;
printf("enter sentence: ");
while (1){
ch = getchar();
if (isalpha(ch)){
++word_len;
}
else if (ch == ' ' || ch == '.'){
if (word_len)
length[word_len - 1]++;//-1: to 0 origin
if (ch == '.')
break;
word_len = 0;
}
}
printf("Word Length \tCount \n");
for (i = 0; i<sizeof(length)/sizeof(*length); ++i){
if (length[i])
printf(" %d \t\t%d\n", i + 1, length[i]);
}
return 0;
}
'else if(strchr(delim,ch)){'可能滿足需要。 (替換'else if(ch ==''ch =='。'){' – chux