cccccct_1 2020-11-26 18:35 采纳率: 94.1%
浏览 1160
已采纳

为使电文保密,往往按一定规律将其转换成密码,收报人再按约定的规律将其译回原文(明文)

为使电文保密,往往按一定规律将其转换成密码,收报人再按约定的规律将其译回原文(明文)。  
  
现在的编码规则是:  
将字母A变成字母E,将a变成e,即变成其后第4个字母。W变成A,X变成B,Y变成C,Z变成D。字母按此规则转换,非字母字符不变。  
  
输入数据只包含一行字符串。输出完成后,不要输出回车换行符。

提示:  
对于一行字符的输入,while读入一行字符,这样调试: 
本机调试时用: 
#include <stdio.h> 
int main() 

  char ch; 
  int s=0,i=0; 
  while((ch=getchar())!='\n') 
  { 
    //处理字符ch 
  } 
  return 0; 

 
提交到Jobe时用: 
#include <stdio.h> 
int main() 

  char ch; 
  int s=0,i=0; 
  while(scanf("%c",&ch)!=EOF) 
  { 
    //处理字符ch 
  } 
  return 0; 
}

例如:

输入

China!

结果

Glmre!
  • 写回答

1条回答 默认 最新

  • 502203305 2020-11-26 19:56
    关注
    #include<stdio.h>
    char convert(char c)
    {
        if( 'a' <= c && c <= 'z' )
        {
            return 'a' + (c-'a'+4)%26;
        }
        if( 'A' <= c && c <= 'Z' )
        {
            return 'A' + (c-'A'+4)%26;
        }
        return c;
    }
    int main()
    {
        char s[] = "China!";
        int i;
        for(i = 0 ; i< sizeof(s)-1 ; i++)
        {
            printf("%c",convert(s[i]));
        }
    }
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器