字符替换/密码翻译/忽略大小写比较字符串大小

字符替换
描述
把一个字符串中特定的字符全部用给定的字符替换,得到一个新的字符串。
输入
只有一行,由一个字符串和两个字符组成,中间用单个空格隔开。字符串是待替换的字符串,字符串长度小于等于30个字符,且不含空格等空白符;接下来一个字符为需要被替换的特定字符;接下来一个字符为用于替换的给定字符。
输出
一行,即替换后的字符串。
*样例输入
hello-how-are-you o O
样例输出
hellO-hOw-are-yOu

#include<iostream>
using namespace std;
int main()
{

    char b,c;
    char a[30];
    cin>>a>>b>>c;
    int j;
    for(j=0;a[j]!='\0';j++)
    {
        if(a[j]==b){a[j]=c;}
    }
    cout<<a<<endl;
}

密码翻译
为了防止情报被截获,往往需要对情报用一定的方式加密,简单的加密算法虽然不足以完全避免情报被破译,但仍然能防止情报被轻易的识别.我们给出一种最简的的加密方法,对给定的一个字符串,把其中从a-y,A-Y的字母用其后继字母替代,把z和Z用a和A替代,则可得到一个简单的加密字符串.
输入
第一行是字符串的数目n, (也要使用get(s)读取字符串,再用n=atoi(s)获得整数数值).
其余n行每行一个字符串,用gets(s)方式读取这一行字符串.每个字符串长度小于80个字符.\\我真的看了好久才懂这个的意思。。。
输出
输出每行字符串的加密字符串.
样例输入
1
Hello! How are you!
样例输出
Ifmmp! Ipx bsf zpv!
提示
为了避免gets和*scanf在使用时的冲突,可用n=atoi(s)把字符串s转换为整数.atoi定义在头文件stdlib.h中.

#include<iostream>
#include<cstdlib>
#include<cstdio>
using namespace std;
int main()
{
    char s[80];
    int k,n;
    gets(s);
    n=atoi(s);
    for(k=0;k<n;k++)
    {
        char a[80];
        gets(a);
        int j;
        for(j=0; a[j]!='\0'; j++)
            {
                if(a[j]=='z') a[j]='a';
                else if(a[j]=='Z') a[j]='A';
                else if((a[j]>='a'&&a[j]<'z')||(a[j]>='A'&&a[j]<'Z'))a[j]=a[j]+1;
             }
       cout<<a<<endl;
    }
}

忽略大小写比较字符串的大小
描述
一般我们用strcmp可比较两个字符串的大小,比较方法为对两个字符串从前往后逐个字符相比较(按ASCII码值大小比较),直到出现不同的字符或遇到’\0’为止。如果全部字符都相同,则认为相同;如果出现不相同的字符,则以第一个不相同的字符的比较结果为准。但在有些时候,我们比较字符串的大小时,希望忽略字母的大小,例如"Hello"和"hello"在忽略字母大小写时是相等的。请写一个程序,实现对两个字符串进行忽略字母大小写的大小比较。

输入
输入为两行,每行一个字符串,共两个字符串。(请用gets录入每行字符串)(每个字符串长度都小于80)
输出
如果第一个字符串比第二个字符串小,输出一个字符"<"
如果第一个字符串比第二个字符串大,输出一个字符">"
如果两个字符串相等,输出一个字符"="
样例输入
Hello
hello
样例输出
=

#include<iostream>
#include<cstring>
#include<cstdio>
using namespace std;
int main()
{
    char a[80], b[80];
    gets(a);
    gets(b);
    int i;
    for(i = 0; a[i] != '\0'; i++)
        if(a[i] >= 'A' && a[i] <= 'Z')
            a[i] += 'a'-'A';
    for(i = 0; b[i] != '\0'; i++)
        if(b[i] >= 'A' && b[i] <= 'Z')
            b[i] += 'a'-'A';
    if(strcmp(a, b) == 0)
        cout <<"="<<endl;
    else if(strcmp(a, b) > 0)
        cout <<">"<<endl;
    else
        cout <<"<"<<endl;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值