第二十八課:字符串練習

練習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)由兩條互補的堿基鏈以雙螺旋的方式結(jié)合而成。而構成DNA的堿基共有4種,分別為腺瞟呤(A)、鳥嘌呤(G)、胸腺嘧啶(T)和胞嘧啶(C)。我們知道,在兩條互補堿基鏈的對應位置上,腺瞟呤總是和胸腺嘧啶配對,鳥嘌呤總是和胞嘧啶配對。你的任務就是根據(jù)一條單鏈上的堿基序列,給出對應的互補鏈上的堿基序列。
【輸入】
一個字符串,表示一條堿基鏈。這個字符串只含有大寫字母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;
}
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容