1077: 字符串加密

題目描述

輸入一串字符(長度不超過100)和一個正整數k,將其中的英文字母加密並輸出加密後的字符串,非英文字母不變。加密思想:將每一個字母c加一個序數k,即用它後面的第k個字母代替,變換公式:c=c+k。若是字母爲z,則後一個字母是a,也就是字母字符造成一個圓。php

輸入

輸入第一行是若干字符,以回車結束。輸入第二行是一個整數k,k是int範圍內的正整數;加密

輸出

輸出加密後的字符串。spa

樣例輸入

12kjsdZjk 280 

樣例輸出

12edmxTde 

提示

注意,即便經過模運算把k控制在小於26的範圍內,依然要考慮char類型溢出的問題,如'z' + 10也會超出char的表示範圍。但慶幸的是,咱們只須要考慮向內存存儲時的char類型溢出,而在計算過程當中不會溢出,由於計算過程當中char會被提高爲int類型。code

來源

*內存

#include<stdio.h>
#include<ctype.h>
int main()
{
        char ch[100];
        int k;

 

        gets(ch);
        scanf("%d",&k);
        for(int i=0;ch[i];i++)
        {
            if(isupper(ch[i]))
                ch[i]=(ch[i]-'A'+k)%26+'A';
            if(islower(ch[i]))
                ch[i]=(ch[i]-'a'+k)%26+'a';
        }
       puts(ch);

 

       return 0;

 

 

 

}

** 字符串

相關文章
相關標籤/搜索