LQW332664203 @ 2019-07-30 17:17:22
#include <iostream>
#include <cstring>
using namespace std;
char a[51];
int n,i;
int main()
{
cin >> n;
cin.get();
cin>>a;
for (i=0;i<strlen(a);i++)
{
a[i]=(a[i]+n-'a'+1)%26+'a'-1;
if ((a[i]-'a') == -1)
a[i]='z';
}
cout << a;
return 0;
}
by pomelo_nene @ 2019-07-30 17:19:57
为什么要用cin.get()
呢
by LQW332664203 @ 2019-07-30 17:20:44
@C20211711刘君实1 第一个输入要把那个enter去掉吧
by 人间失格 @ 2019-07-30 17:21:37
@LQW332664203 a[i]=(a[i]+n-'a'+1)%26+'a'-1; if ((a[i]-'a') == -1) a[i]='z';
为啥不是: a[i]=(a[i]-'a'+n)%26+'a'呢???
by LQW332664203 @ 2019-07-30 17:21:38
@C20211711刘君实1 不然无法输入第二行啊; 不信你试试;
by pomelo_nene @ 2019-07-30 17:22:00
@LQW332664203 不需要啊...注释掉就AC了
by LQW332664203 @ 2019-07-30 17:22:20
@人间失格 我是用1-26来做的 求26模
by pomelo_nene @ 2019-07-30 17:22:59
不需要亲测AC记录吧..
by LQW332664203 @ 2019-07-30 17:23:05
@C20211711刘君实1 这样的吗?
by LQW332664203 @ 2019-07-30 17:24:48
@C20211711刘君实1 为什么删了那个cin.get()就过了???????
by pomelo_nene @ 2019-07-30 17:25:36
@LQW332664203 cin不需要读回车
读字符串忽略回车,除非你用gets