求助QwQ(为什么是0分)

P1914 小书童——凯撒密码

明依 @ 2019-01-11 19:00:38

include<bits/stdc++.h>

using namespace std;

int main() {

char a[100],e[100];
int b,c,n,d[100];
cin>>n;
getchar();
cin.getline(a,sizeof(a));
memset(d,0,sizeof(d));
b=strlen(a);
for(c=0; c<b; c++) d[c]=(int)a[c];
for(c=0; c<b; c++) {
    d[c]=d[c]+n%26;
    if (d[c]>122) d[c]=d[c]-26;
    e[c]=(char)d[c];
}
for(c=0; c<b; c++) cout<<e[c];
return 0;

}

全错,下载了第一个测试数据后答案也是对的

洛谷在线IDE也是对的


by E_REMAL @ 2019-01-11 19:14:34

#include<bits/stdc++.h>
using namespace std;
int n;
string s;
char c[10005];
int main() {
cin>>n;
cin>>s; 
for(int i=0;i<s.length();i++) c[i]=s[i];
for(int i=0;i<s.length();i++) c[i]=(c[i]-'a'+n)%26+'a'; 
for(int i=0;i<s.length();i++) cout<<c[i];
return 0;
}

你看看这样可不可以,如需解释请私信。


by juruo_zjc @ 2019-01-11 19:28:39

#include<bits/stdc++.h>
using namespace std;
int n;
char a[10005];
char change(char x)
{
    if(x<='z'&&x>='a')return(x-'a'+n)%26+'a';
    return(x-'a'+n)%26+'a';
}
int main()
{
    cin>>n>>a;
    for(int i=0;i<strlen(a);i++)cout<<change(a[i]);
    return 0;
}

by 明依 @ 2019-01-11 19:35:01

谢谢


|