将中文汉字转换翻译成摩斯密码保护隐私需要下载报译之星和莫斯密码转换器,然后具体操作如下:
准备材料:莫尔斯密码翻译器(译报之星)。
1、下载译报之星软件,然后打开软件,会看到如下界面。
2、在软件的在上部粘贴文件,可以右键粘贴,也可以选择右侧的粘贴按钮。
3、也可以在软件上选择导入文档文本,选择本地的文件进行导入。
4、点击右侧的电报码选项,在下面的框中就会自动将中文内容编译成数字代号。
5、然后点击右侧的复制按钮,复制下部的数字代号。
6、再打开软件中的如下名称软件。
7、粘贴数字代码。
8、点击“EN”,实现编译成摩斯密码。
9、可复制粘贴。
注意事项:
需要下载两个软件,一个是译报之星,另一个是莫斯密码转换器,下载的时候要找到官网下载,防止下载一系列广告软件,设置了摩斯密码保护的文件,不要忘记怎么转化回来。
按照题目要求编写的C语言程序如下
#includestdio.h
#includestring.h
int main()
{
char str[5],s[5];
int i;
printf("请输入5个字符:");
scanf("%s",str);
for(i=0;istrlen(str);i++){
if(str[i]=65str[i]=90){
s[i]=(char)((str[i]-65+4)%26+65);
}else if(str[i]=97str[i]=122){
s[i]=(char)((str[i]-97+4)%26+97);
}else{
s[i]=str[i];
}
}
s[i]='\0';
printf("%s",s);
return 0;
}
#includeiostream
using namespace std;
#define SKIP 4
int main(){
char str[21]="China#";
cout "译码前:" "\b " str endl;
// 这里跳过合法性检查。
for (int i = 0; i 21 str[i] != '#'; i++){
if (str[i] = 65 str[i] = 90){
if (str[i] + SKIP90) str[i] = 65 + (str[i] + SKIP - 90);// 重新到回头部。
else str[i] = str[i] + SKIP;
}
else{
if (str[i] + SKIP122) str[i] = 97 + (str[i] + SKIP - 122);// 重新到回头部。
else str[i] = str[i] + SKIP;
}
}
cout "译码后:" "\b " str endl;
return 0;
}
另外多说一句,如果A译成E,那么你举的例子:“Who”应译为“Als”就不正确了,应该是“Who”应译为“Bls”才正确。