回覆列表
-
1 # 使用者1726295996665
-
2 # 使用者4513273315216
c語言中輸出字串的函式有printf("%s") puts() fputs()等,字串中可以是任意的字元,包括空格在內,無特殊處理,如: char str[]="hello world" ; printf("%s ", str ); puts(str); fputs(str,stdin); 但在輸入帶有空格的字串時,只能用gets()或fgets(),而不能用scanf("%s") ,因為scanf("%s")輸入字串時,遇到空格就結束了輸入。而gets()函式是以回車為結束符的輸入函式,可以輸入帶空格的字串。
相關內容
- 怎麼用C語言實現:輸入一個人名字的拼音(字串),以數字形式或各字串+4的形式輸出?
- c語言的問題編一個程式,將兩個字串s1,s2比較,如果s1>s2,輸出一個正數;s1
- 求c語言程式設計輸出200以內的素數?
- C語言問題,編寫一程式將兩個字串連起來?
- C語言:輸入5個字串,按由小到大(我想應該是strcmp函式比較)的順序輸出?
- 一道c語言程式題: 輸入5個字串,按字典順序將其重新排列輸出。用字串指標實現?
- C語言程式題從鍵盤接收5個字串,然後按字典順序排序後輸出程式如下,幫幫改下吧?
- C語言中輸入一串以空格分隔的整型資料,怎麼辦?
- C語言中想輸出double和long double型用%什麼?
- c語言的long double怎麼輸出?
參考思路是先分詞,再判斷每個詞是不是一個單詞。
模型先簡單點,假設分隔單詞的字元只有空格,單詞只由英文字元組成而且大小寫不敏感。
分詞就要實現 string.Split() ,C 語言沒有作為基礎型別的 string,要麼實現一個,要麼轉換思路——因為只有讀取動作,返回 char* 不一定要另外開闢記憶體,比如接受一個 char*,返回下一個單詞起點的指標(返回遇到的第一個空格後面的第一個非空格字元的指標)。
然後需要判斷以空格或者空字元為終點的字串是不是隻有英文字元。