yiwenyu_niu_bi @ 2022-03-30 13:45:45
为什么60分?? 为什么60分??
by Pretharp @ 2022-03-30 14:16:23
@yiwenyu_niu_bi 建议自删
by chs_is_sb @ 2022-03-30 14:17:04
@yiwenyu_niu_bi 大于z需要%26可能加了10000
by 叶家诚666666 @ 2022-04-04 20:54:08
@yiwenyu_niu_bi 因为你没有考虑换一档 比如输入
1
z
那它要输出a 你的因该是输出了ASCLL码122位的后一位
{
而不是
a
所以要分类讨论 希望能对你有帮助!!!
by 叶家诚666666 @ 2022-04-04 20:55:36
@叶家诚666666 这是我的代码: 我用的是python 如果你学过的话可以借鉴一下哦:
n = int(input())
m = input()
x = ""
for i in range(len(m)):
if (ord(m[i]) + n) > 122:
x += chr(ord(m[i]) + n - 26)
else:
x += chr(ord(m[i]) + n)
print(x)
by yiwenyu_niu_bi @ 2022-04-11 12:33:55
#include<bits/stdc++.h>
using namespace std;
int main()
{
int a,i=0;
string b;
cin>>a;
cin>>b;
while(i<b.size())
{
b[i]+=a;
if(b[i]>122)
{
b[i]-=26;
}
i++;
}
cout<<b;
return 0;
}
by yiwenyu_niu_bi @ 2022-04-11 12:34:44
我用的C++
by suyi1111 @ 2022-04-30 16:27:39
ASCII码上限127,z的ASCII码为122,如果b[i]+=a;时加出了ASCII码的范围就会WA,可以改为:
for(int j=1;j<=a;j++){
b[i]++;
if(b[i]>'z') b[i]-=26;
}
by HaoxuanLiu @ 2022-05-06 13:49:17
楼主的答案.......
by HaoxuanLiu @ 2022-05-06 13:50:12
好厉害
by yiwenyu_niu_bi @ 2022-06-08 12:27:04
高精度,散了吧 (蓝名蒟蒻)