好难!!写出来的代码要写成自定义函数,搞不明白!是电文问题

把下面这个代码写成自定义函数。是一个电文问题
写一个字符串的自定义函数,电文问题:A→Z,a→z


#include "stdio.h"

void fun1(char *str,int k){
    int i,s;
    for(i=0;i<k;i++)
    {
        if(str[i]>='a' && str[i]<='z'){
            s= 25-(str[i]-97);
            str[i] = 'a'+s;//密文    
        }
        if(str[i]>='A' && str[i]<='Z'){
            s= 25-(str[i]-65);
            str[i] = 'A'+s;//密文    
        }
    }
}
void fun2(char *str,int k){
    int i,s;
    for(i=0;i<k;i++){
        if(str[i]>='a' && str[i]<='z'){
            s= str[i]-97;
            str[i] = 'z'-s;//密文    
        }
        if(str[i]>='A' && str[i]<='Z'){
            s= str[i]-65;
            str[i] = 'Z'-s;//密文    
        }
    }
}
void main()
{

    char str[20];
    int i,j,k,s;
    printf("请输入一行字符:\n");
    gets(str);
    k = strlen(str);
    fun1(str,k);
    //加密后的内容
    puts(str);
    //解密
    fun2(str,k);
    puts(str);
}

是字符串遇到A变成Z吗