本題要求編寫程式,將給定字串中的大寫英文本母按以下對應規則替換:
原字母對應字母az
bycx
dw……
xcyb
za輸入在一行中給出乙個不超過80個字元、並以回車結束的字串。
輸出在一行中給出替換完成後的字串。
only the 11 capital letters are replaced.
lnly the 11 xzkrtao oegtvih are replaced.
**如下:
1 #include2 #include3 #include4 #include5int
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個字元 並以回車結束的字串。輸出格式 輸出在...