解码游戏,完全不知道什么意思

img


完全没思路,原来字母后的第2n+1个字母代替原来字母,怎么解释其解译后的文字呀

第 2 题这么写就行了:

/** decoding.c -- 解决解码游戏问题 */
#include <stdio.h>
#include <ctype.h>

/*
    2.解码游戏:
        用原来的字母后面的第 2n+1 个字母代替原来的字母,若
    ASCII 码计算后不为字母以问号代替,利用初始化赋值法,即
    c1, c2, c3, c4, c5, c6 分别代表 “ Yellow ”,请计算其解
    译后的结果。

    提示:需输入 n 值,需先判断是否是字母。
*/

int main(void)
{
    // 使用初始赋值法    
    char c1 = 'Y', c2 = 'e', c3 = 'l', c4 = 'l', c5 = 'o', c6 = 'w';
    
    // 定义变量 n 并从控制台输入中读取
    int n;
    printf("请输入 n  的值:");
    scanf("%d", &n);

    // 计算解译后的结果
    c1 = c1 + (2 * n + 1);
    c2 = c2 + (2 * n + 1);
    c3 = c3 + (2 * n + 1);
    c4 = c4 + (2 * n + 1);
    c5 = c5 + (2 * n + 1);
    c6 = c6 + (2 * n + 1);
    
    // 判断是否不为字母,如果不是字母则显示为问号
    c1 = isalpha(c1)? c1 : '?';
    c2 = isalpha(c2)? c2 : '?';
    c3 = isalpha(c3)? c3 : '?';
    c4 = isalpha(c4)? c4 : '?';
    c5 = isalpha(c5)? c5 : '?';
    c6 = isalpha(c6)? c6 : '?';
    
    // 输出结果
    printf("%c%c%c%c%c%c\n", c1, c2, c3, c4, c5, c6);

    return 0;
}