面試題 字串的空格計數和單詞計數

2021-06-22 14:22:41 字數 851 閱讀 7297

給定乙個字串,統計字串中的空格數,和單詞數。

先定義兩個巨集,來判斷是字母還是空格。

#define isalaph(p) ((( p ) >= 'a' && (p) <= 'z') || (( p ) >= 'a' && (p) <= 'z'))

#define isspace(p) ((p) == ' ')

統計所有空格,單詞

如果當前字元是字母,先判斷它前面是不是字母,如果前面不是字母,那單詞數加1,否則無操作。

如果當前字元為空格,空格加1.

if( isalaph(*p) )

else if(isspace(*p))

else

將重複的空格合併的統計方法

統計單詞方法不變,增加乙個變數來表示前面乙個字元是否空格即可。

如果前面字元為空格,則不操作,否則,空格加1.

如上面**去掉注釋。

完整源**

#include #include #define isalaph(p) ((( p ) >= 'a' && (p) <= 'z') || (( p ) >= 'a' && (p) <= 'z'))

#define isspace(p) ((p) == ' ')

int main()

else if(isspace(*p))

else

p++;

}printf("spacecnt: %d, wordcnt: %d", spacecnt,wordcnt);

return 0;

}

面試題 字串翻轉

使用 c c 編寫函式,實現字串反轉,要求不使用任何系統函式,且時間複雜度最小,函式原型 char reverse str char str 使用c c 編寫函式,實現字串反轉,要求不使用任何系統函式,且時間複雜度最小,函式原型 char reverse str char str include i...

字串面試題 字串逆序

字串逆序可以說是最經常考的題目。這是一道入門級的題目。給定乙個字串s,將s中的字元順序顛倒過來,比如s abcd 逆序後變成s dcba 基本上沒有這麼考的,放在這裡主要是為了和後面的原地逆序做個對比。很簡單,直接分配乙個與原字串等長的字元陣列,然後反向拷貝一下即可。char reverse cha...

面試題 字串轉位元組

這是遇到的面試題,請問i j 為什麼?string str1 abcd測試一下 var strtobytes1 system.text.encoding.utf8.getbytes str1 var i strtobytes1.length var j str1.length 答 i 16 j 8 ...