在这一问题中如何用C语言程序实现一串字符都能转换

我现在只能做到在C程序中用if else语句判断ASCII码值转换一个字母,但是无法实现转换一整句
要求是输入一串英文字符,大小写都能转换为其后的第五个字母,如图上所示,如何实现一串字符都能转换呢

img

当前字符+5得到转换后的字符

供参考:

#include<stdio.h>
int main()
{
    char str[100] = {0};
    int  key = 5, i = 0;
    //scanf("%d", &key);
    //getchar();
    gets(str);
    while (str[i])
    {
        if (str[i] >= 'A' && str[i] <= 'Z')
            str[i] = (str[i] - 'A' + key) % 26 + 'A';
        else if (str[i] >= 'a' && str[i] <= 'z')
            str[i] = (str[i] - 'a' + key) % 26 + 'a';
        i++;
    }
    printf("%s", str);
    return 0;
}

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632