有一行电文,已按下面规律译成密码:
A→Z a→z
B→Y b→y
C→X c→x
┇ ┇
即第1个字母变成第26个字母,第i个字母变成第(26-i+1)个字母,非字母字符不
变。要求编程序将密码译回原文,并输出密码和原文。
1.a-c #include<stdio.h> int main() {int j,n; char ch[80],tran[80]; printf("input cipher code:"); gets(ch); printf("\ncipher code :%s",ch); j=0; while(ch[j]!=’\0’) {if((ch[j]>=’A’)&&(ch[j]<=’Z’)) tran[j]=155-ch[j]: else if((ch[j]>=’a’)&&(ch[j]<='z’)) tran[j]=219-ch[j]: else tran[j]=ch[j]: j++; } n=j; printf("\noriginal text"); for (j=0;j<n;j++) putchar(tran[j]); printf("\n'); return 0; } 2.b #include<stdio.h> int main() {int j,n; char ch[80]; printf("input cipher code:\n"); gets(ch); printf("\ncipher code:%s\n",ch); j=0; while(ch[j]!=’\0’) {if((ch[j]>=’A’)&&(ch[j]<=’Z’)) ch[j]=155-ch[j]; edse if((ch[j]>=’a’)&&(ch[j]<=’z’) ch[j]=219-ch[j]: else ch[j]=ch[j]: j++; } n=j; printf("original text:"); for (j=0;j<n;j++) putchar(ch[j]); printf("\n”); return 0; }
1.a-c
#include<stdio.h>
int main()
{int j,n;
char ch[80],tran[80];
printf("input cipher code:");
gets(ch);
printf("\ncipher code :%s",ch);
j=0;
while(ch[j]!=’\0’)
{if((ch[j]>=’A’)&&(ch[j]<=’Z’))
tran[j]=155-ch[j]:
else if((ch[j]>=’a’)&&(ch[j]<='z’))
tran[j]=219-ch[j]:
else
tran[j]=ch[j]:
j++;
}
n=j;
printf("\noriginal text");
for (j=0;j<n;j++)
putchar(tran[j]);
printf("\n');
return 0;
2.b
{int j,n;
char ch[80];
printf("input cipher code:\n");
printf("\ncipher code:%s\n",ch);
ch[j]=155-ch[j];
edse if((ch[j]>=’a’)&&(ch[j]<=’z’)
ch[j]=219-ch[j]:
ch[j]=ch[j]:
n=j;
printf("original text:");
putchar(ch[j]);
printf("\n”);
这道题你会答吗?花几分钟告诉大家答案吧!
扫描二维码,关注牛客网
下载牛客APP,随时随地刷题