5
已解决
马佳滢
新手天翼
新手天翼
帮帮忙!
#include<stdio.h>
#include<string.h>
#include<iostream>
int main()
{
char n[100];
int i;
scanf("%s",n);
int a=strlen(n),c,b,d;
c=a/5;
b=a%5;
if(c>=2){
d=c-2;
for(i=0;i<i+5;i++){
if(65<=(int)n[i]&&(int)n[i]<=90||97<=(int)n[i]&&(int)n[i]<=122){
if(n[i]=='a'){
n[i]=='y';
}else if(n[i]=='b'){
n[i]=='z';
}if(n[i]=='A'){
n[i]=='Y';
}else if(n[i]=='B'){
n[i]=='Z';
}
else {
(int)n[i]==(int)n[i]-2;
}
}
}
for(i=5;i<i+5;i++){
if(65<=(int)n[i]&&(int)n[i]<=90||97<=(int)n[i]&&(int)n[i]<=122){
if(n[i]=='y'){
n[i]=='a';
}else if(n[i]=='z'){
n[i]=='b';
}if(n[i]=='Y'){
n[i]=='A';
}else if(n[i]=='Z'){
n[i]=='B';
}
else {
(int)n[i]==(int)n[i]+2;
}
}
}
if(d!=0){
for(i=10;i<d*5;i++){
if(65<=(int)n[i]&&(int)n[i]<=90||97<=(int)n[i]&&(int)n[i]<=122){
if(n[i]=='z'){
n[i]=='a';
}else if(n[i]=='Z'){
n[i]=='A';
}
else {
(int)n[i]==(int)n[i]+2;
}
}
}
}
}
printf("%d",n);
return 0;
}
运行结果:
马佳滢在2018-01-27 17:40:53追加了内容
1.http://judge.codingtang.com/problem/1791/
3.或lookhttp://wenda.codingtang.com/questions/904/(有题目描述)专供非精英怪同学look。
马佳滢在2018-02-02 17:32:50追加了内容
为什么一遇到“cout”将报错?
0
已采纳
陆麟瑞
资深天翼
资深天翼
你的思路不太对,有些地方思路不太对,你这种错误可能是死循环。
可以参考如下代码。
for(int i=0; i<=min(4,l); i++)//第一部分判断并替换 { if(s[i]>='a'&&s[i]<='z'||s[i]>='A'&&s[i]<='Z') { if(s[i]=='B') cout<<'Z'; else if(s[i]=='b') cout<<'z'; else if(s[i]=='a') cout<<'y'; else if(s[i]=='A') cout<<'Y'; else cout<<char(s[i]-2); } else cout<<s[i]; } for(int i=5; i<=min(9,l); i++)//第二部分判断并替换 { if(s[i]>='a'&&s[i]<='z'||s[i]>='A'&&s[i]<='Z') { if(s[i]=='Z') cout<<'B'; else if(s[i]=='z') cout<<'b'; else if(s[i]=='y') cout<<'a'; else if(s[i]=='Y') cout<<'A'; else cout<<char(s[i]+2); } else cout<<s[i]; } for(int i=10; i<=l; i++)//第三部分判断并替换 { if(s[i]>='a'&&s[i]<='z'||s[i]>='A'&&s[i]<='Z') { if(s[i]=='A') cout<<'Z'; else if(s[i]=='a') cout<<'z'; else cout<<char(s[i]-1); } else cout<<s[i]; }
模拟一遍就行了。
0
马佳滢
新手天翼
新手天翼
注意:
本题由于为了腾出3个位置问问题,已经采纳陆麟瑞 大神的回答(可惜没有,用倒是用另一种方法AC了),请大家不要怀疑!
谢谢!
特此说明,以资表明!
马佳滢 2018年3月26日 22时11分
0
0
陆麟瑞
资深天翼
资深天翼
你的思路不太对,有些地方思路不太对,你这种错误可能是死循环。
可以参考如下代码。
for(int i=0; i<=min(4,l); i++)//第一部分判断并替换 { if(s[i]>='a'&&s[i]<='z'||s[i]>='A'&&s[i]<='Z') { if(s[i]=='B') cout<<'Z'; else if(s[i]=='b') cout<<'z'; else if(s[i]=='a') cout<<'y'; else if(s[i]=='A') cout<<'Y'; else cout<<char(s[i]-2); } else cout<<s[i]; } for(int i=5; i<=min(9,l); i++)//第二部分判断并替换 { if(s[i]>='a'&&s[i]<='z'||s[i]>='A'&&s[i]<='Z') { if(s[i]=='Z') cout<<'B'; else if(s[i]=='z') cout<<'b'; else if(s[i]=='y') cout<<'a'; else if(s[i]=='Y') cout<<'A'; else cout<<char(s[i]+2); } else cout<<s[i]; } for(int i=10; i<=l; i++)//第三部分判断并替换 { if(s[i]>='a'&&s[i]<='z'||s[i]>='A'&&s[i]<='Z') { if(s[i]=='A') cout<<'Z'; else if(s[i]=='a') cout<<'z'; else cout<<char(s[i]-1); } else cout<<s[i]; }
模拟一遍就行了。
0
0