⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 1280.cpp

📁 这是哈尔滨工业大学acmOJ的源代码
💻 CPP
字号:
/*  This Code is Submitted by wywcgs for Problem 1280 on 2005-03-21 at 19:33:28 */ 
#include <stdio.h>
#include <string.h>

int main()
{
    char a[30], servant[10], temp;
    int n, svtNum, pwLen;
    int i, j, k, l;
    
    scanf("%d", &n);
    for(i = 0; i < n; i++){
        scanf("%s", servant);
        svtNum = strlen(servant);
        scanf("%s", a);
        pwLen = strlen(a);
        for(j = svtNum-1; j >= 0; j--){
            switch(servant[j]){
                case 'C':
                    temp = a[0];
                    for(k = 0; k < pwLen-1; k++){
                        a[k] = a[k+1];
                    }
                    a[pwLen-1] = temp;
                    break;
                case 'J':
                    temp = a[pwLen-1];
                    for(k = pwLen-2; k >= 0; k--){
                        a[k+1] = a[k];
                    }
                    a[0] = temp; 
                    break;
                case 'E':
                    if(pwLen % 2 == 0){
                        l = pwLen / 2;
                        for(k = 0; k < l; k++){
                            temp = a[k];
                            a[k] = a[k+l];
                            a[k+l] = temp;
                        }
                    }else{
                        l = pwLen / 2 + 1;
                        for(k = 0; k < l-1; k++){
                            temp = a[k];
                            a[k] = a[k+l];
                            a[k+l] = temp;
                        }
                    }    
                    break;
                case 'A':
                    l = pwLen / 2;
                    for(k = 0; k < l; k++){
                        temp = a[k];
                        a[k] = a[pwLen-k-1];
                        a[pwLen-k-1] = temp;
                    }    
                    break;
                case 'P':
                    for(k = 0; k < pwLen; k++){
                        if((a[k] >= '0') && (a[k] <= '9')){
                            a[k] = (a[k] - '0' + 9) % 10 + '0';
                        }
                    }    
                    break;
                case 'M':
                    for(k = 0; k < pwLen; k++){
                        if((a[k] >= '0') && (a[k] <= '9')){
                            a[k] = (a[k] - '0' + 1) % 10 + '0';
                        }
                    } 
                    break;
            }
        }
        printf("%s\n", a);
    }
    
    return 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -