c++编程 求助!!! 编程序将一个字符串翻译成密码,密码规律是:用原来的字母后面第四个字母代替原

c++编程 求助!!!
编程序将一个字符串翻译成密码,密码规律是:用原来的字母后面第四个字母代替原来的字母,字母采用循环的方式递推。如:china的密码为glmre
要求:1.设计两个函数 参数分别用数组和指针
2.字符数组内容由用户输入
拜托了!!!

第1个回答  推荐于2017-09-18
#include<iostream>
using namespace std;
char s[100];
int main()
{
cin>>s;
char *p=s;
int i;
for(i=0;s[i]!='\0';i++)
{
*(p+i)=(s[i]-'a'+4)%26+'a';
}
cout<<s<<endl;
return 0;
}

 这是用了指针的 。

追问

数组不可以直接输入输出吧

追答

行不行你试试就知道了。

追问

编译之后有两个错误……

追答

你看你是不是没有复制全部。

我这vc6.0都通过了啊。

追问

可以了,谢谢

可是大写字母就没办法处理了……

追答

你可以判断下大小写,小写一个函数,大写调用另一个函数。

追问

好的,谢谢

追答#include<iostream>
using namespace std;
char s[100];
int main()
{
cin>>s;
char *p=s;
int i;
for(i=0;s[i]!='\0';i++)
{
if(s[i]>='a' && s[i]<='z')
*(p+i)=(s[i]-'a'+4)%26+'a';
else
*(p+i)=(s[i]-'A'+4)%26+'A';
}
cout<<s<<endl;
return 0;
}

大小写两不误‘。

本回答被提问者采纳