字符串的替换如用D替换A

编写程序,从键盘输入一个字符串(不超过100个字符,可包含大写字母、小写字母、数字和特殊符号等字符),要求替换字符串中的英文字母。大写字母的替换规则为:A→D, B→E, C→F, …, W→Z, X→A, Y→B, Z→C。小写字母的类似。

一种是通过ascii码,显然转换规则是+3
二是通过数组,例如num['A'-'A'] =num[0] ='D',同理其他字符也可这样转换


#include <stdio.h>

int main(void) { 
    char s[105];
    scanf("%s",s);
    for(int i=0;s[i]!='\0';i++){
        if(s[i]>='A'&&s[i]<='Z'){
            s[i]='A'+(s[i]-'A'+3)%26;
        }
        else if(s[i]>='a'&&s[i]<='z'){
            s[i]='a'+(s[i]-'a'+3)%26;
        }
    }
    printf("%s",s);
    return 0;
}

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

img