#46123: C語言 使用string.h中的strlen(字串名) 可以較輕鬆解


frcmoonfall@gmail.com (劉宸瑞)

學校 : 新北市立中和高級中學
編號 : 291095
來源 : [210.60.158.69]
最後登入時間 :
2025-09-11 15:26:23

#include <stdio.h>
#include <string.h>
//q182.2.字串操作
    char str[120],ske[120];
    int n,d[1200],j=0;
void turn(void){
    int a;
    for(int i=0;i<strlen(str);i=i+2){
        a = str[i];
        str[i] = str[i + 1];
        str[i + 1] = a;
    }
}
void sort(void){
    int a;
    for(int i=0;i<strlen(str);i=i+2){
        if(str[i + 1] < str[i]){
        a = str[i];
        str[i] = str[i + 1];
        str[i + 1] = a;
        }
    }
}
void resort(void){
    int a;
    j=0;
    for(int i = 0;i < strlen(str);i++){
        ske[i]=str[i];
    }
    for(int i = 0;i < strlen(str);i=i + 2){
        str[i]=ske[j];
        str[i + 1] = ske[strlen(str)/2 + j];
        j++;
    }
}
int main(void){
    scanf("%s",str);
    size_t length = strlen(str);
    for(int i=0;i<strlen(str);i++){
        //printf("%c\n",str[i]);
        ske[i] = str[i];
    }
    scanf("%d",&n);
    for(int i=0;i<n;i++){
        scanf("%d",&d[i]);
        if(d[i] == 0){
            turn();
        }else if(d[i] == 1){
            sort();
        }else if(d[i] == 2){
            resort();
        }
    }
    for(int i=0;i<strlen(str);i++){
        printf("%c",str[i]);
    }
}