c程序设计第四版谭浩强
有一行电文,已按下面规律译成密码:
A->Z a->z
B->Y b->y
C->X c->x
… …
即第一个字母变成第26个字母,第i个字母变成第(26-i+1)个字母。非字母字符不变,要求编程序将密码译回原文,并打印出密码和原文。(用C语言编写程序)
谭浩强c语言程序设计第四版答案
以下是此题的【c源代码】,需要【c++源代码】请点击进入
用两个字符数组分别存放原文和密码的【c源程序1】
#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;
}
只用一个字符数组【c源程序2】
#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];
else 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;
}
本文链接:http://www.wb98.com/c/post/tanhaoqiang_6.12.html
本站文章搜索: