山東理工大学第7回ACM校試合-文字の変化

1072 ワード

文字の変化
Time Limit:1000 ms Memory limit:65536 K質問は?ここをクリック^^;
タイトルの説明
長さn(1<=n<=1000)の文字列(小文字のみを含む)を操作し、a->b、b->c、c->d...、z->a;m回の操作後の文字列を出力します.(例えばabcdeは1回の操作を経てbcdefになる).
  
入力
 
単一グループ入力.試験例の第1の動作文字列s、第2の動作は整数m(0<=m<=1000)である.
しゅつりょく
 
m回の操作後の文字列を出力します.
サンプル入力
xyzcd
2

サンプル出力
zabef
#include <stdio.h>
#include <cstdlib>
#include <cstring>
#include <iostream>
#include <cmath>
#include <queue>
#include <stack>
#include <algorithm>
#define INF 0x3f3f3f3f
using namespace std;
const int Max=101000;
int main()
{
    char c[1100];
    int m;
    scanf("%s",c);
    scanf("%d",&m);
    m=m%26;
    for(int i=0;c[i];i++)
    {
        if(c[i]+m>'z')
        {
            c[i]=c[i]+m-'z'-1+'a';
        }
        else
        {
            c[i]=c[i]+m;
        }
    }
    cout<<c<<endl;
    return 0;
}