关于C语言中英文句子加密问题

编程实现对键盘输入的一行英文句子进行加密。用加密方法为,当内容为英文字母时其在26字母中的其后第三个字母代替该字母,字母x,y,z分别以a,b,c代替,字母X,Y,Z分别以A,B,C代替。若为其它字符则不变。

若为其它字符则不变。

输入格式:
输入一行英文句子

输出格式:
输出加密后的句子

输入样例1:
在这里给出一组输入。例如:

This is a test string.
输出样例1:
在这里给出相应的输出。例如:

Wklv lv d whvw vwulqj.

#include <iostream>
using namespace std;
int main()
{
    char s[10001] = {0};
    gets(s);
    int i=0;
    while(s[i] != '\0')
    {
        if(s[i] >='A' && s[i] <='Z')
            s[i] = (s[i]-'A'+3)%26+'A';
        else if(s[i] >='a' && s[i]<='z')
            s[i] = (s[i]-'a'+3)%26+'a';
        cout<<s[i];
        i++;
    }
}