问题标题: 酷町堂:1786

0
0
尹宗鑫
尹宗鑫
新手守护
新手守护

1786   密码战

题目描述 Description

在各国谍报人员之间经常进行破译密码的战斗,为了防止其他的人员破译,A国的人员使用这样的密码转化规则: 1. 对于字母字符,将其转换成其后的第3个字母。例如:A--D,a--d,X--A,x--a; 2. 对于非字母字符,保持不变。 我们国家的人员成功的截取了这条密码,请帮助破译密码。

输入描述 Input Description

A国进行加密后的字符串

输出描述 Output Description

加密前的字符串

样例输入 Sample Input

 

L(2017)oryh(10)Fklqd(01)!

样例输出 Sample Output

 

I(2017)love(10)China(01)!

数据范围及提示 Data Size & Hint

字符串长度不超过50

 

http://judge.codingtang.com/problem/1786/

#include<iostream>
using namespace std;
string a;
int main(){
    cin>>a;
    for(int i=0;i<a.size();i++){
        if(a[i]>='A' && a[i]<='z'){
            int x=a[i];
            x=x-3;
            a[i]=x;
        }
        cout<<a[i];
    }
    return 0;
}

 


1
被禁言 汪子晨
汪子晨
修练者
修练者

 

字符串 s;
    识别空格(cin,s);
    for(整型 i=0;i<s.size();i++){
        如果(s[i]>='D'&&s[i]<='Z' || s[i]>='d'&&s[i]<='z'){
            s[i]减等于3;
        }那么(s[i]>='A'&&s[i]<='C' || s[i]>='a'&&s[i]<='c'){
            s[i]加等于23;
        }
    }
  输出<<s;

AC100求采纳

0
0
0
0
0
沙宸安
沙宸安
高级启示者
高级启示者

加#include<cstring>或#include<string>试试

0
0
0
黄子扬
黄子扬
初级天翼
初级天翼

你这,

if(a[i]>='A' && a[i]<='z'){

错了,以及,

特判呢?

0
0
0
郭浩翔
郭浩翔
资深守护
资深守护

不是头文件的问题!你们看到他怎么判断是否字母的吗?一个大写一个小写!

0
0
黄馨琦
黄馨琦
初级守护
初级守护

特判:

  • for(int i=0;i<s.size();i++){
  • if(s[i]>='d'&&s[i]<='z'||s[i]>='D'&&s[i]<='Z'){
  • s[i]-=3;
  • }
  • 再判断:
  • else if(s[i]>='a'&&s[i]<='c'||s[i]>='A'&&s[i]<='c'){
  • s[i]+='x'-'a';
  • }
  • }
  • 最后输出s
0
张百川
张百川
新手光能
新手光能

1.include<string>

2.核心:

         

  • for(int i=0;i<a.size();i++)
  • {
  • if(a[i]>='a'&&a[i]<='c'||a[i]>='A'&&a[i]<='C')
  • {
  • a[i]+='x'-'a';
  • }
  • else if(a[i]>='d'&&a[i]<='z'||a[i]>='D'&&a[i]<='Z')
  • {
  • a[i]-=3;
  • }
  • }
我要回答