九度OJ 1105 字串的反碼

2021-07-28 00:14:34 字數 1105 閱讀 9352

debug記錄:

①提交時一直pe,究其原因原來是沒有考慮到空格字元的情況。可能包含空格字元,而scanf是讀取到空白字元截斷的,不能讀取空格。故應該使用gets。

gets的用法:

gets(str);,遇到\n或eof結束,在末尾補全'\0',同樣將\n保留在輸入流中。成功時返回值為str,失敗或者遇到eof時返回null

題目描述:乙個二進位制數,將其每一位取反,稱之為這個數的反碼。下面我們定義乙個字元的反碼。如果這是乙個小寫字元,則它和字元'a』的距離與它的反碼和字元'z』的距離相同;如果是乙個大寫字元,則它和字元'a』的距離與它的反碼和字元'z』的距離相同;如果不是上面兩種情況,它的反碼就是它自身。

舉幾個例子,'a』的反碼是'z』;'c』的反碼是'x』;'w』的反碼是'd』;'1』的反碼還是'1』;'$'的反碼還是'$'。

乙個字串的反碼定義為其所有字元的反碼。我們的任務就是計算出給定字串的反碼。

輸入:輸入每行都是乙個字串,字串長度不超過 80 個字元。如果輸入只有!,表示輸入結束,不需要處理。

輸出:對於輸入的每個字串,輸出其反碼,每個資料佔一行。

樣例輸入:

hello 

jlu-ccst-2011

!

樣例輸出:

svool 

qof-xxhg-2011

2023年吉林大學計算機研究生機試真題

答疑:

#include #include #define maxsize 100

using namespace std;

int main(){

char str[maxsize];

int len;

while (gets(str)){

if (strlen(str)==1&&str[0]=='!')

break;

//initiate

len=strlen(str);

//process

for (int i=0;i

題目1105 字串的反碼

題目描述 乙個二進位制數,將其每一位取反,稱之為這個數的反碼。下面我們定義乙個字元的反碼。如果這是乙個小寫字元,則它和字元 a 的距離與它的反碼和字元 z 的距離相同 如果是乙個大寫字元,則它和字元 a 的距離與它的反碼和字元 z 的距離相同 如果不是上面兩種情況,它的反碼就是它自身。舉幾個例子,a...

九度OJ 題目1135 字串排序

題目1135 字串排序 時間限制 1 秒 記憶體限制 32 兆 特殊判題 否 提交 518 解決 254 題目描述 先輸入你要輸入的字串的個數。然後換行輸入該組字串。每個字串以回車結束,每個字串少於一百個字元。如果在輸入過程中輸入的乙個字串為 stop 也結束輸入。然後將這輸入的該組字串按每個字串的...

九度oj 1135 字串排序

時間限制 1 秒 記憶體限制 32 兆 特殊判題 否 提交 1523 解決 784 題目描述 先輸入你要輸入的字串的個數。然後換行輸入該組字串。每個字串以回車結束,每個字串少於一百個字元。如果在輸入過程中輸入的乙個字串為 stop 也結束輸入。然後將這輸入的該組字串按每個字串的長度,由小到大排序,按...