简单编码
Time Limit: 1000MS
Memory Limit: 65536KB
Problem Description
将一串文本译成密码,密码的规律是:
将原来的小写字母全部翻译成大写字母,大写字母全部翻译成小写字母,数字的翻译规律如下:
0——>9
1——>8
2——>7
3——>6
4——>5
5——>4
6——>3
7——>2
8——>1
9——>0
然后将所有字符的顺序颠倒。
将原来的小写字母全部翻译成大写字母,大写字母全部翻译成小写字母,数字的翻译规律如下:
0——>9
1——>8
2——>7
3——>6
4——>5
5——>4
6——>3
7——>2
8——>1
9——>0
然后将所有字符的顺序颠倒。
Input
输入一串文本,最大字符个数不超过100。
Output
输出编码后的结果。
Example Input
china
Example Output
ANIHC
#include <stdio.h> #include <string.h> int main() { int i,len; char s[105]; gets(s); len=strlen(s); for(i=0; s[i]; i++) { if(s[i]>='0'&&s[i]<='9') s[i]='9'-s[i]+'0'; ///先转化为数字,然后转化为字符 if((s[i]>='a')&&(s[i]<='z')) s[i]=s[i]-32; else if(s[i]>='A'&&s[i]<='Z') s[i]=s[i]+32; } for(i=len-1; i>=0; i--) { printf("%c",s[i]); } printf("\n"); return 0; } /**示列: 123456 345678 aaaaa123 678AAAAA 注释: 1.这里的s[i]-'0'的实质就是将单个字符转化为单个数字。 2.当字符类型的变量赋值给整型变量的时候,系统会自动将其转换成ASCII码。 '0'的ASCII码为48,'1'为49,‘A’为65,'a'为97,依次类推。 3.在这里也可以把s[i]-'0' 换成 s[i]-48*/