第二十八课:字符串练习

练习1:密码翻译

【题目描述】

在情报传递过程中,为了防止情报被截获,往往需要对情报用一定的方式加密,简单的加密算法虽然不足以完全避免情报被破译,但仍然能防止情报被轻易的识别。我们给出一种最简的的加密方法,对给定的一个字符串,把其中从a-y,A-Y的字母用其后继字母替代,把z和Z用a和A替代,其他非字母字符不变,则可得到一个简单的加密字符串。

【输入】

输入一行,包含一个字符串,长度小于80个字符。

【输出】

输出每行字符串的加密字符串。
【输入样例】
Hello! How are you!
【输出样例】
Ifmmp! Ipx bsf zpv!

#include <stdio.h>
#include <string.h>
int main()
{
    char s[80];
    int i,len;
    gets(s);
    len=strlen(s);
    for(i=0;i<len;i++)
    {
        if(s[i]=='z'||s[i]=='Z')
        {
            printf("%c",s[i]-25);
        }
        else if((s[i]>='a'&&s[i]<'z')||(s[i]>='A'&&s[i]<'Z'))
        {
            printf("%c",s[i]+1);
        }
        else
        {
            printf("%c",s[i]);
        }
    }
    return 0;
}

练习2:配对碱基链
【题目描述】
脱氧核糖核酸(DNA)由两条互补的碱基链以双螺旋的方式结合而成。而构成DNA的碱基共有4种,分别为腺瞟呤(A)、鸟嘌呤(G)、胸腺嘧啶(T)和胞嘧啶(C)。我们知道,在两条互补碱基链的对应位置上,腺瞟呤总是和胸腺嘧啶配对,鸟嘌呤总是和胞嘧啶配对。你的任务就是根据一条单链上的碱基序列,给出对应的互补链上的碱基序列。
【输入】
一个字符串,表示一条碱基链。这个字符串只含有大写字母A、T、G、C,分别表示腺瞟呤、胸腺嘧啶、鸟嘌呤和胞嘧啶。字符串长度不超过255。
【输出】
一个只含有大写字母A、T、G、C的字符串,为与输入的碱基链互补的碱基链。
【输入样例】
ATATGGATGGTGTTTGGCTCTG
【输出样例】
TATACCTACCACAAACCGAGAC

#include <stdio.h>
#include <string.h>
int main()
{
    char str1[255],str2[255];
    int i,len;
    gets(str1);
    len=strlen(str1);
    for(i=0;i<len;i++)
    {
        if(str1[i]=='A')
        {
            printf("T");
        }
        if(str1[i]=='T')
        {
            printf("A");
        }
        if(str1[i]=='G')
        {
            printf("C");
        }
        if(str1[i]=='C')
        {
            printf("G");
        }
    }
    printf("%s\n",str2);
    return 0;
}
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容