The Hardest Problem Ever

指定字符串移动
对我而言,这道题最需要提醒自己的是,务必看清题意。
按我以往的思路,我会着手解决主要问题,比如这道题的主要问题是,如何做到把字符串向后移动五位,而主要问题解决了,这道题还没有完,因为我经常忽略细节问题(格式问题对我来说就是细节问题),说到这个,就必须说说读题,虽然是英文题目,但是依靠翻译还是感觉没那么顺畅,很多题目里要求的细枝末节的东西就容易忽视了,或者看不明白之类的问题,说实话如果这道题不给样例,我真的不知道要持续输入,所以一开始我没有写while。
还有一点就是题目说的是只有大写,我理解成了小写要转换成大写。

# include<iostream>
# include <string.h>
using namespace std;
int main()
{
    char p[220];
    int c=0;
    while(gets(p)) //修改的第一步 
    {
        if(strcmp(p,"START")==0)
        continue;
        if(strcmp(p,"END")==0)
        continue;
        if(strcmp(p,"ENDOFINPUT")==0)
        break; //修改的第二部 
        for(int i=0;i<strlen(p);i++)
        {
            if(p[i]>='A'&&p[i]<='Z'||p[i]>='a'&&p[i]<='z')
            {
//                if(p[i]>='a'&&p[i]<='z')
//                {
//                    p[i]=p[i]-32;
//                }
                if(p[i]>='A'&&p[i]<='E') 
                {
                    p[i]=p[i]+21;
                
                }
                else 
                {
                    p[i]=p[i]-5;
                }
           //     printf("%c",p[i]);
            }
       //     else 
         //   {
                printf("%c",p[i]);//合并在一起也是可以的,
                                 //因为无论是进入if还是不进入都要执行
           // }
             
        } printf("\n");
    }

} 

综上所述,请学好英语。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值