3024331496ys @ 2022-01-16 13:10:30
#include<stdio.h>
#include<string.h>
int main()
{
int n;
scanf("%d",&n);
if(n>=26)
{
n=n%26;
}
getchar();
char a[100];
gets(a);
int s=0;
s=strlen(a);
int i;
for(i=0;i<s;i++)
{
if(a[i]>='a'&&a[i]<='z')
{
a[i]=a[i]+n;
if(a[i]>'z')
{
int y;
y=a[i]-'z';
a[i]='a';
a[i]=a[i]+y-1;
}
}
}
puts(a);
return 0;
}
by ssxvngn @ 2022-01-16 13:23:53
@3024331496ys 帮你改了一下,你看看
#include<bits/stdc++.h>
using namespace std;//自己喜好
int main()
{
int n;
scanf("%d",&n);
n=n%26;
char a[100];
scanf("%s",a);//一开始没输出就是因为gets可能出问题了
int s=0;
s=strlen(a);
int i;
for(i=0;i<s;i++)
{
int x=a[i]-'a';
x=(x+n)%26;
if(x>=26)
x-=26;
a[i]=char('a'+x);
//一开始的方法可能会数组越界
//比如25 z
}
puts(a);
return 0;
}