統計字符串單詞數的兩種方法(c語言實現)
阿新 • • 發佈:2018-09-09
字符串長度 字符 include ++ hit you 問題 code bool
問題描述:統計一個字符串,字符串由單詞,空格構成。
思路:
一,遍歷字符串所有字符,設置一個布爾變量來判斷當前是空格還是字母
1 #include <stdio.h> 2 #include <stdbool.h> 3 #include <string.h> 4 5 int count_words(char* s) 6 { 7 int len=strlen(s); // len存放字符串長度 8 bool isWhite=true; 9 int i,count=0; //count用來計數單詞數10 for(i=0;i<len;i++) 11 { 12 if(*(s+i)==‘ ‘) //當前字符為空 13 { 14 isWhite=true; 15 }else if(isWhite){ // 此句代碼被執行表明:當前字符不為空且上個字符為空 16 count++; //單詞數+1 17 isWhite=false; //進入非空格狀態 18 } 19 } 20 return count; 21 } 22 23 int main()24 { 25 char* a="i love you "; 26 printf("%d",count_words(a)); 27 }
二,遍歷字符串所有字符,如果當前字符不為空,單詞數+1,再嵌套一個while循環,判斷當前單詞是否結束
1 #include <stdio.h> 2 #include <string.h> 3 4 int count_words(char* s) 5 { 6 int len=strlen(s); 7 int count,i; 8 for(i=0;i<len;i++)9 { 10 if(*(s+i)!=‘ ‘){ // 如果當前代碼為空 11 count++; //單詞數+1 12 while(*(s+i)!=‘ ‘&& i<len) //判斷當前單詞是否結束 13 i++; 14 } 15 } 16 return count; 17 } 18 19 int main() 20 { 21 char* a="i love you"; 22 printf("%d",count_words(a)); 23 }
統計字符串單詞數的兩種方法(c語言實現)