7-9 9、同桌的你 字符转换

7-9 9、同桌的你

小P想起了中学时的同桌,他想写封信给她,又想看看双方的默契程度,想到了一个好方法,对输入的每个符号往后移三个字符,所有的字母A将被替换成D,B变成E,以此类推,字母X将被替换成A,Y变成B,Z变成C。请你编程帮小P实现。

输入格式:
输入一行字符串,长度不超过80。

输出格式:
输出转换后的字符串。

输入样例:
在这里给出一组输入。例如:

I love this game
输出样例:
在这里给出相应的输出。例如:

L oryh wklv jdph

该回答引用ChatGPT

#include <stdio.h>

int main()
{
    char c;
    while((c = getchar()) != '\n')
    {
        if(c >= 'A' && c <= 'Z')
        {
            c = (c - 'A' + 3) % 26 + 'A';
        }
        else if(c >= 'a' && c <= 'z')
        {
            c = (c - 'a' + 3) % 26 + 'a';
        }
        putchar(c);
    }
    return 0;
}


上述代码中,我们使用了 getchar() 函数逐个读取输入的字符,然后判断该字符是否为大写字母或小写字母。如果是大写字母,则将其替换成相应的字符;如果是小写字母,则也做同样的操作。最后,我们使用 putchar() 函数将转换后的字符输出到控制台。

供参考:

#include <stdio.h>
int main()
{
    char str[81];
    int  offset = 3, i;
    gets(str);
    for (i = 0; str[i]; i++)
    {
        if (str[i] >='A' && str[i] <= 'Z')
            str[i] = (str[i] - 'A' + offset) % 26 + 'A';
        else if (str[i] >= 'a' && str[i] <= 'z')
            str[i] = (str[i] - 'a' + offset) % 26 + 'a';
    }
    printf("%s", str);
    return 0;
}

以下答案引用自GPT-3大模型,请合理使用:

#include <stdio.h>
int main(){
    char str[81];
    scanf("%s",str);
    while(*str){
        if(*str >= 'A' && *str <= 'W')
            *str += 3;
        else if(*str >= 'X' && *str <= 'Z')
            *str -=23;
        printf("%c",*str);
        *str++;
    }
    return 0;
}

如果我的回答解决了您的问题,请采纳我的回答