這一題我一定得寫一篇部落格
剛開始我一看是入門難度說這不是隨便寫麼
#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。第二行...