XXYNLY @ 2024-10-06 16:40:18
#include<iostream>
using namespace std;
int main() {
string s;
int ddd;
cin >> ddd;
int dd = (ddd+26) % 26;
cin >> s;
for (int i = 0; i < s.length(); i++) {
s[i] = s[i] + dd;
if (s[i] > 'z')
s[i] = ('a' + (s[i] % 'z')-1)%122;
}
cout << s;
return 0;
}
by HerobrinePerssonZ @ 2024-10-13 20:01:47
@XXYNLY
#include <stdio.h>
int main()
{
char in[100];
int n, j;
scanf("%d%s", &n, in); //读入
for(j = 0; in[j] != '\0'; j++)
putchar((in[j]-'a'+n)%26+'a');
//in[j]-'a':读入中对应的第几个字母的位置,比如'a'对应0,'b'对应1,'c'对应2(0开始);
//in[j]-'a'+n:读入中对应字母加上转移位数得到的字母的对应位置。
//比如说'c'这个字母移动3位,就是第2个字母向右移动3个,就是第五个字母,即'f'
//取余26是防止移动位数超过26导致炸掉
//再加上'a',将对应位置还原成字母,再打出来
}
你能加团or关注吗?