P1914 小書童 密碼(模擬)

2021-09-26 18:38:29 字數 868 閱讀 5549

這一題我一定得寫一篇部落格

剛開始我一看是入門難度說這不是隨便寫麼

#include

using

namespace std;

intmain()

return0;

}

結果:

總結踩的坑點:

1.我的迴圈條件會導致『z』變成』a』,但事實上應該是』z』+1變成』a』

2.char型別的整數值預設是-128~+127,如果是』z』+26直接溢位變為負值了,會輸出一堆中文。

雖然在我改用unsigned char(0~255)後全部ac了,但還是提倡這種寫法:s[i]=(s[i]-『a』+n)%26+『a』,

既然要不停地減26,那麼直接取模不就好了麼,所以化while迴圈為乙個對26的取模操作。

而且這種寫法直接先計算好了乙個『a』到』z』的值,char和string都可以用,是絕對不會溢位的!

ac**:

#include

intmain()

;scanf

("%d%s"

,&n,

&s);

for(

int i=

0;s[i]

!='\0'

;i++

)return0;

}

#include

using

namespace std;

intmain()

return0;

}

P1914 小書童 密碼

某蒟蒻迷上了 小書童 有一天登陸時忘記密碼了 他沒繫結郵箱or手機 於是便把問題拋給了神犇你。蒟蒻雖然忘記密碼,但他還記得密碼是由一串字母組成。且密碼是由一串字母每個向後移動n為形成。z的下乙個字母是a,如此迴圈。他現在找到了移動前的那串字母及n,請你求出密碼。均為小寫 輸入格式 第一行 n。第二行...

P1914 小書童 密碼

某蒟蒻迷上了 小書童 有一天登陸時忘記密碼了 他沒繫結郵箱or手機 於是便把問題拋給了神犇你。蒟蒻雖然忘記密碼,但他還記得密碼是由一串字母組成。且密碼是由一串字母每個向後移動n為形成。z的下乙個字母是a,如此迴圈。他現在找到了移動前的那串字母及n,請你求出密碼。均為小寫 輸入格式 第一行 n。第二行...

P1914 小書童 密碼

某蒟蒻迷上了 小書童 有一天登陸時忘記密碼了 他沒繫結郵箱or手機 於是便把問題拋給了神犇你。蒟蒻雖然忘記密碼,但他還記得密碼是由一串字母組成。且密碼是由一串字母每個向後移動n為形成。z的下乙個字母是a,如此迴圈。他現在找到了移動前的那串字母及n,請你求出密碼。均為小寫 輸入格式 第一行 n。第二行...