字符串加密问题,最后的两个字符插空格怎么实现

字符串加密。从键盘上输入一个字符串(长度不超过50),通过加密后转换成密文并输出到屏幕上。加密算法为:明文中的字母转换为其后的第4个字母,如果已经超过Z/z,则从A/a开始计算,例,A变为E(a变为e), Z变为D(z变为d);非字母字符不变;密文的每两个字符之间插入一个空格。


#include "stdio.h"
#include "string.h"
void main()
{

    char str[20];
    int i,j,k,s;
    printf("请输入一行字符:\n");
    gets(str);
    k = strlen(str);
    for(i=0;i<k;i++)
    {
        if(str[i]>='a' && str[i]<='z'){
            s= str[i]+4;
            if(s>'z')
                s='a';
            str[i] = s;//密文    
        }
        if(str[i]>='A' && str[i]<='Z'){
            s= str[i]+4;
            if(s>'Z')
                s= 'A';
            str[i] = s;//密文    
        }
    }
    //加密后的内容
    puts(str);
  
}