Real-time Operation System Course: 解密字符串





#include 
#define N 8

void decode(char original_message[], char resulting_message[]){
    int i, j, k = 0;
    for(i = 0; i < N; i++){
        for(j = 0; j < N * N; j++){
            if(j % N == i){
                resulting_message[k++] = original_message[j];
            }
        }
    }
    resulting_message[k] = '\0';
}

void print_result(char message[]){
    int i, j;
    for(i = 0; i < N * N; i++){
        printf("%c ", message[i]);
        if((i+1) % N == 0)
            printf("\n");
    }
}

int main()
{
    char resulting_message[N * N];
    char original_message[] = "ITRYUPWANTASRRIN MTTSOTGREIEEGHUE NM R AAOG WACGLP CEM E-ESO  L!"; //The original message;
    printf("The original message was:\n");
    puts(original_message);

    printf("\nDecoding:\n");
    print_result(original_message);

    decode(original_message, resulting_message);

    printf("\nResult is:\n");
    puts(resulting_message);
    return 0;
}

你可能感兴趣的:(C)