小英是药学专业大三的学生,暑假期间得到了去医院药房实习的机会。
在药房实习期间,小英扎实的专业基础得到了医生的一致好评,得知小英在计算概论中取得过好成绩后,主任又额外交给她一项任务,解密抗战时期被加密过的一些伤员的名单。
通过研究,小英发现了以下加密规律(括号中是一个“原文 -> 密文”的例子)
1. 原文中全部的字符都在字母表中被循环左移了三个位置(dec -> abz)
2. 逆序存储(abcd -> dcba )
3. 大小写反转(abXY -> ABxy) ide
GSOOWFASOq
Trvdizrrvj
1 #include<stdio.h> 2 #include<string.h> 3 void fun1(char a[]);//将a[]循环右移三位 4 void fun2(char a[]);//将a[]逆序存储 5 void fun3(char a[]);//将a[]大小写反转 6 int main() 7 { 8 char str[100]; 9 gets(str); 10 fun1(str); 11 fun2(str); 12 fun3(str); 13 puts(str); 14 return 0; 15 } 16 void fun1(char a[])//将a[]全部的字符都在字母表中循环右移三个位置( abz -> dec) 17 { 18 int i,len=strlen(a); 19 for(i=0;i<len;i++) 20 { 21 if(a[i]>='a'&&a[i]<='z') 22 { 23 a[i]=a[i]+3; 24 if(a[i]>'z') 25 a[i]=a[i]-'z'-1+'a'; 26 } 27 else 28 { 29 a[i]=a[i]+3; 30 if(a[i]>'Z') 31 a[i]=a[i]-'Z'-1+'A'; 32 } 33 } 34 } 35 void fun2(char a[])//将a[]逆序存储 36 { 37 int i,j,len=strlen(a); 38 char t; 39 for(i=0,j=len-1;i<j;i++,j--) 40 { 41 t=a[i];a[i]=a[j];a[j]=t; 42 } 43 } 44 void fun3(char a[])//将a[]大小写反转 45 { 46 int i,len=strlen(a); 47 for(i=0;i<len;i++) 48 { 49 if(a[i]>='a'&&a[i]<='z') 50 { 51 a[i]=a[i]-32; 52 } 53 else 54 { 55 a[i]=a[i]+32; 56 } 57 } 58 }