注册 登录
编程论坛 C语言论坛

求大神帮忙,这个要怎么写,关于循环的题目

清风萨克斯 发布于 2020-11-16 16:32, 1886 次点击
1)某军区为确保通信信息不被敌方窃取,通知所有通信信息一律不用明文表示,必须采用加密措施。你能帮助他们编写程序,快速加密吗?
加密算法如下:
      规定最终生成的字符只能是33到127之间的字符,每个字符是它之后的第26个字符,如果计算后ASCII值超过127,则从33开始循环。
      比如ASCII值为128,输出编码值为33的字符,编码值129对应34,130对应35,以此类推。
要求:
      输入一串字符(不包含中文字符),回车结束(不包含回车),如
      abc
      输出加密后的字符:
      {|}
 2)你能再反过来,编写程序将加密后的信息还原成原来的信息吗?
4 回复
#2
rjsp2020-11-16 17:25
程序代码:
char 加密( char c )
{
    return (c+26-33)%95+33;
}
char 解密( char c )
{
    return (c+69-33)%95+33;
}

#3
清风萨克斯2020-11-16 17:46
回复 2楼 rjsp
不是不能有中文吗
#4
r3169994432020-11-16 20:14
回复 3楼 清风萨克斯
理解能力务必加强!
#5
rjsp2020-11-16 20:28
回复 3楼 清风萨克斯
第一,我只是给你一个示例,不禁止你将函数名改为其它字符
第二,最重要的是,C99 和 C++11 都支持中文所在的Unicode码区
https://zh.
1