请问一下这道C语言编程题怎么做?
为了防止信息被别人轻易窃取,需要把电码明文通过加密方式变换成为密文。输入一个以回车符为结束标志的字符串(少于80个字符),再输入一个整数offset,用凯密码将其加密后输...
为了防止信息被别人轻易窃取,需要把电码明文通过加密方式变换成为密文。输入一个以回车符为结束标志的字符串(少于80个字符),再输入一个整数offset,用凯
密码将其加密后输出。恺撒密码是一种简单的替换加密技术,将明文中的所有字母都在字母表上偏移offset位后被替换成密文,当offset大于零时,表示向后偏移;当
offset小于零时,表示向前偏移。 展开
密码将其加密后输出。恺撒密码是一种简单的替换加密技术,将明文中的所有字母都在字母表上偏移offset位后被替换成密文,当offset大于零时,表示向后偏移;当
offset小于零时,表示向前偏移。 展开
2个回答
展开全部
按照题目要求编写的用凯撒密码加密的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;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询