任务描述
请编写程序将一串5
个字符组成的英文字符串译成密码,规则为:例如,将“China
”译成密码,密码规律是:用原来的字母后面第4
个字母代替原来的字母。例如,字母'A
'后面第4
个字母是“E
”,用“E
”代替“A
”。因此,“China
”应译为“Glmre
”。请编写一程序,用赋初值的方法使c1,c2,c3,c4,c5
这5
个变量的值分别为'C','h','i','n','a'
,经过运算,使c1,c2,c3,c4,c5
分别变为'G','l','m','r','e'
。请输出这5
个字符。
本关知识
字符输出
C
语言中单个字符的输出有两种方法:一是通过printf
函数,二是利用putchar
函数。例如:
char a = ‘H’;
printf("%c", a);
或
char a = ‘H’;
putchar(a);
编程要求
本关的编程任务是补全EncryptCha\fracter.c
文件中main
函数,以实现按指定规则对字符加密的功能。 实际的测试样例参见下文。 本关涉及的代码文件EncryptCha\fracter.c
的代码框架如下: //包含标准输入输出函数 #include <stdio.h>
//定义main函数
int main()
{
char c1,c2,c3,c4,c5;
//请在此添加‘字符加密’的代码
/*****************Begin******************/
/***************** End ******************/
return 0;
}
其中: #include <stdio.h>
的意思是包含stdio
函数库,使得当前程序可以调用标准输入输出函数库中的函数。 int main()
是定义main
函数,每个C
程序都必须有且只有一个main
函数。该函数是整个程序的入口,程序执行会从main
函数的第一条语句开始。 int
表示main
函数的返回值类型。函数结束时需要返回一个整数。 return 0;
是函数返回,这里是从main
函数返回,0
是返回的整数值。return
语句会结束一个函数的运行。
测试说明
本关的测试过程如下:
- 平台编译
EncryptCha\fracter.c
,然后链接相关程序库并生成EncryptCha\fracter.exe
; - 平台运行
EncryptCha\fracter.exe
,并以标准方式提供测试输入; - 平台获取
EncryptCha\fracter.exe
的输出,然后将其与预测输出对比,如果一致则测试通过;否则测试失败。
代码展示:
#include <stdio.h>
//定义main函数
int main()
{
//请在此添加‘字符加密’的代码
/*****************Begin******************/
char c1,c2,c3,c4,c5;
scanf("%c%c%c%c%c",&c1,&c2,&c3,&c4,&c5);
if(c1>='w')
c1=c1-22;
else
c1=c1+4;
if(c2>='w')
c2=c2-22;
else
c2=c2+4;
if(c3>='w')
c3=c3-22;
else
c3=c3+4;
if(c4>='w')
c4=c4-22;
else
c4=c4+4;
if(c5>='w')
c5=c5-22;
else
c5=c5+4;
printf("%c%c%c%c%c",c1,c2,c3,c4,c5);
/***************** End ******************/
return 0;
}
运行截图: