有一行电文 已按下面规律译成密码:

2016-06-17 16:12:10  分类: 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;
 }

 
 

 

来源:c程序设计第四版谭浩强课后答案

本文链接:http://www.wb98.com/c/post/tanhaoqiang_6.12.html

本站文章搜索:

<< 上一篇下一篇 >>

搜索

网站分类

Tags列表

赞助商链接