C语言如何分别在奇数偶数位实现对字符串加密

对输入的字符串进行加密,然后输出。加密方法:奇数位字符ASCII-2,偶数位字符ASCII+2。如:输入st,输出qv。

img

把对奇偶数位的判断改为用下标i+1的和对2求余是否等于0,来区分是奇数位还是偶数为即可,代码修改如下:

#include <stdio.h>
#include <string.h>

void fun(char a[]){
    
    int i=0;
    while(a[i]!='\0'){
         
        if((i+1)%2==0){  //字符数组下标i+1即对应当前下标元素的数位,对2求余等于0即为偶数位,否则为奇数位 
            a[i]+=2;
        }else{
            a[i]-=2;
        }
        
        i++;
        //printf("%c",a);
    }
    
    
    
} 

int main(void){
    
    char a[1000];
    scanf("%s",a);
    fun(a);
    printf("%s\n",a);
    
    
    return 0;
}

img