zzyxl_qaq @ 2021-09-10 07:15:54
求改```
using namespace std; int main(){ char ch[50]; int n; cin>>n; scanf("%s",ch); for(int i=0;i<=strlen(ch);i++){ ch[i]+=n; if(ch[i]>='z'){ ch[i]-=26; }
}
for(int i=0;i<strlen(ch);i++){
cout<<ch[i];
}
return 0;
}
by zzyxl_qaq @ 2021-09-10 07:16:26
#include<bits/stdc++.h>
using namespace std;
int main(){
char ch[50];
int n;
cin>>n;
scanf("%s",ch);
for(int i=0;i<=strlen(ch);i++){
ch[i]+=n;
if(ch[i]>='z'){
ch[i]-=26;
}
}
for(int i=0;i<strlen(ch);i++){
cout<<ch[i];
}
return 0;
}
by 钟智丞 @ 2021-09-10 07:38:32
#include<bits/stdc++.h>
using namespace std;
int main(){
string ch;
int n;
cin>>n;
cin>>ch;
for(int i=0;i<ch.length();i++){
ch[i]+=n;
if(ch[i]>'z'){
ch[i]-=26;
}
}
cout<<ch;
return 0;
}
这样就好了呀,修改别用char数组,要用string,可以变化长度。
用cin cout来输入输出。 strlen改成.length(),因为你的数组开的大小太大了,上个程序残留的导致数组空着的空间不干净,大于z了一减就变方框了
by w23c3c3 @ 2021-09-10 08:35:09
@你永不独行 上面那个循环把=去掉就好了把
by zzyxl_qaq @ 2021-09-12 08:33:22
@w23c3c3 谢谢dl