请问一下这道C语言编程题怎么做?

为了防止信息被别人轻易窃取,需要把电码明文通过加密方式变换成为密文。输入一个以回车符为结束标志的字符串(少于80个字符),再输入一个整数offset,用凯密码将其加密后输... 为了防止信息被别人轻易窃取,需要把电码明文通过加密方式变换成为密文。输入一个以回车符为结束标志的字符串(少于80个字符),再输入一个整数offset,用凯
密码将其加密后输出。恺撒密码是一种简单的替换加密技术,将明文中的所有字母都在字母表上偏移offset位后被替换成密文,当offset大于零时,表示向后偏移;当
offset小于零时,表示向前偏移。
展开
 我来答
紫薇参星
科技发烧友

2021-06-17 · 有一些普通的科技小锦囊
知道大有可为答主
回答量:5983
采纳率:92%
帮助的人:3449万
展开全部

按照题目要求编写的用凯撒密码加密的C语言程序如下

#include<stdio.h>

int main(){

 char s[80];

 int offset,i;

 fgets(s,80,stdin);

 scanf("%d",&offset);

 for(i=0;s[i]!='\0';i++){

  if('A'<=s[i] && s[i]<='Z')

   if(offset>=0)

    s[i]='A'+(s[i]-'A'+offset)%26;

   else

    s[i]='A'+(s[i]-'A'+26+offset%26)%26;

  else if('a'<=s[i] && s[i]<='z')

   if(offset>=0)

    s[i]='a'+(s[i]-'a'+offset)%26;

   else

    s[i]='a'+(s[i]-'a'+26+offset%26)%26;

 }

 printf("%s\n", s);

 return 0;

}

格里编程办公技巧
科技发烧友

2021-06-16 · 编程、办公知识分享与学习
格里编程办公技巧
采纳数:434 获赞数:877

向TA提问 私信TA
展开全部
#include<stdio.h>
int main()
{
char str[80];
int offset;
int i;
scanf("%s", str);
scanf("%d", &offset);
for(i = 0; str[i]; i++)
if(str[i] != ' ')
str[i] += offset;
printf("%s\n", str);
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式