zzulioj1161字串長度(指標專題)

2021-10-21 08:50:24 字數 1202 閱讀 6072

1161: 字串長度(指標專題)

題目描述

編寫一函式len,求乙個字串的長度,注意該長度不計空格。要求用字元指標實現。在主函式中輸入字串,呼叫該len函式後輸出其長度。

int len(char *sp)

輸入

輸入乙個字串,以回車結束,長度不超過100。

輸出

輸出乙個整數,單獨佔一行。

樣例輸入

what day is today?

樣例輸出

15**展示

#include

#include

intlen

(char

*sp)

;//計算字串長度並返回乙個整數

intmain()

intlen

(char

*sp)

return a;

}

說明

函式內的迴圈也可以寫成下列形式:

while

(*sp!=

'\0'

)

注意

在輸入字串的時候如果使用scanf函式輸入,那麼結果將是錯誤的,因為scanf的讀取原理是匹配字元,當scanf從緩衝區讀取資料時遇到空格和回車鍵則認為讀取完畢,即要是輸入"a b"則讀取的只有a,

解決方法

使用gets(buf),但編譯時系統可能會報警告,說它不安全因為gets()不能指定資料的長度,故可使用fgets()

使用fgets(buf,20,stdin), gets()函式在讀入字串時,在讀到換行符時會將換行符轉換成空字元,也就是轉換成字串結束標誌儲存,但fgets()不會替換換行符,它會將換行符也作為字串的一部分讀到字串中來

使用scanf("%[^\n]",buf), [^\n]的意思是scanf遇到\n才停止讀取,需注意使用此種方式後,buf中存放的字串末尾無』\n』。

ZZULIOJ 1164 字串加密

輸入一串字元 長度不超過100 和乙個正整數k,將其中的英文本母加密並輸出加密後的字串,非英文本母不變。加密思想 將每個字母c加乙個序數k,即用它後面的第k個字母代替,變換公式 c c k。如果字母為z,則後乙個字母是a,也就是字母字元形成乙個圓。輸入第一行是若干字元,以回車結束。輸入第二行是乙個整...

zzuli oj 1134 字串轉換

輸入乙個以回車結束的字串,它由數字和字母組成,請過濾掉所有非數字字元,然後將數字字串轉換成十進位制整數後乘以2輸出。輸入乙個以回車結束的字串,長度不超過100,由數字和字母組成。將轉換後的整數乘以2輸出,測試資料保證結果在int範圍內。sg987aa65t498 197530996 ac 1 inc...

zzulioj 1155 字串比較 多例項

比較字串大小,但比較的規則不同字典序規則。字元比較新規則如下 a a b b z z。輸入資料報含多個測試例項,每個測試例項佔兩行,每一行有乙個字串 只包含大小寫字母,長度小於10000 如果第乙個字串小於第二個,輸出yes,否則,輸出no。注意 a a b b z z。abc bbcab aabc...