问题描述 :
编写一个加密程序,用来加密一个字符串。加密规则如下:
-
把字符串中的所有数字0、1 … 9分别换成小写英文字母a、b … j。
-
把字符串中的所有小写英文字母a、b … j分别换成数字0、1 … 9。
-
其它字符保持不变。
输入说明 :
你的程序需要从标准输入设备(通常为键盘)中读入多组测试数据。每组输入数据占一行,其中只包含一个字符串,即需要被加密的字符串。该字符串包含不超过100个字符,只包含可见的ASCII字符,并且不包含空格、制表符或换行符。在行首和行尾没有多余的空格;所有数据前后没有多余的空行;两组数据之间没有多余的空行。
输出说明 :
对每组测试数据,你的程序需要向标准输出设备(通常为启动该程序的文本终端,例如你在Windows中启动该程序所用的命令行终端)依次输出一组对应的答案。每组答案占一行,其中只包含一个字符串,即问题描述中的加密结果。在行首和行尾不要输出多余的空格;在所有数据前后不要输出多余的空行;在两组数据之间不要输出多余的空行。
输入范例 :s1drasdfnmsdafn.
输出范例 :sb3r0s35nms305n.
#include <stdio.h>
#include <string.h>
int main(){
char str[101];
while(gets(str)){
for(int i=0;str[i]!='\0';i++){
if(str[i]>='0'&&str[i]<='9')
str[i]=str[i]-'0'+'a';
else if(str[i]>='a'&&str[i]<='j')
str[i]=str[i]-'a'+'0';
}
for(int j=0;str[j]!='\0';j++)
printf("%c",str[j]);
memset(str,0,sizeof(str));
printf("\n");
}
return 0;
}