習題7 7 字串替換

2022-07-29 19:09:09 字數 1365 閱讀 1173

本題要求編寫程式,將給定字串中的大寫英文本母按以下對應規則替換:

原字母對應字母az

bycx

dw……

xcyb

za輸入在一行中給出乙個不超過80個字元、並以回車結束的字串。

輸出在一行中給出替換完成後的字串。

only the 11 capital letters are replaced.

lnly the 11 xzkrtao oegtvih are replaced.

**如下:

1 #include2 #include3 #include4 #include

5int

main()

14else17}

1819 printf("%s"

, b);

2021

return0;

22 }

這個題目思路還是蠻簡單的,就是把這個式子算出來,如果同學們不知道咋算,我這裡有乙個笨辦法,就是a是65,z是90,它倆對應,那麼輸入b(ascii碼對應的是66)時,應該輸出89,我們可以像找規律一樣,找這幾個數字之間的規律,我們發現,65+90 ==  66+89 == ......== ,他們的和是150,所以就是**第12行的那樣子。

我剛開始做的時候,沒有用到gets(),我比較習慣用scanf(),結果發現怎麼做都不好做,資料判定總有問題,我就查了查資料,用了這個gets()。

為什麼陣列要用到81呢,因為還要留一位存放陣列的最後一位,防止資料溢位導致報錯或者資料丟失,我在pta就是因為80,而判斷出錯。

接下來寫以下剛剛查的資料

單個字元輸入的方式有:scanf(%c),getchar(),getcha(),getch()

字串輸入方式有:scanf(%s),gets()

具體說說區別,

getchar就是乙個簡潔,剩下和scanf沒有區別了

getcha沒有緩衝區,輸入乙個字元就會立刻讀出,不用等待使用者回車或者其他操作。 需要標頭檔案conio.h,(因為linux和mac os沒有這個標頭檔案,所以只支援windows)

getch 和getcha一樣沒有緩衝區,它的特別之處是,它沒有回顯,(看不到使用者輸入的字元),在特定場合是非常有用的。  需要標頭檔案conio.h  

scanf() 讀取字串時以空格為分隔,遇到空格就認為當前字串結束了,所以無法讀取含有空格的字串。

gets() 認為空格也是字串的一部分,只有遇到回車鍵時才認為字串輸入結束,所以,不管輸入了多少個空格,只要不按下回車鍵,對 gets() 來說就是乙個完整的字串。

也就是說,gets() 能讀取含有空格的字串,而 scanf() 不能。

習題7 7 字串替換

習題7 7 字串替換 description 本題要求編寫程式,將給定字串中的大寫英文本母按以下對應規則替換 原字母對應字母az bycx dw xcyb zainput 輸入在一行中給出乙個不超過80個字元 並以回車結束的字串。output 輸出在一行中給出替換完成後的字串。sample inpu...

習題7 7 字串替換(15 分)

本題要求編寫程式,將給定字串中的大寫英文本母按以下對應規則替換 原字母對應字母az bycx dw xcyb za輸入在一行中給出乙個不超過80個字元 並以回車結束的字串。輸出在一行中給出替換完成後的字串。only the 11 capital letters are replaced.lnly t...

習題7 7 字串替換 15分

進博主技術群,與大佬交流,領取乾貨學習資料 快速找到所需題目 浙大版c語言程式設計第三版題目集一覽表 本題要求編寫程式,將給定字串中的大寫英文本母按以下對應規則替換 原字母對應字母az bycx dw xcyb za輸入格式 輸入在一行中給出乙個不超過80個字元 並以回車結束的字串。輸出格式 輸出在...