c语言编程 为了使电文保密,往往按一定规律将其转换成密码,收报人再按约定的规律将其译回原文。

为了使电文保密,往往按一定规律将其转换成密码,收报人再按约定的规律将其译回原文。例如:将每一个字母变成它后面的第4字母,即将A变成E,B变成F,…,Z变成D,非字母字符不... 为了使电文保密,往往按一定规律将其转换成密码,收报人再按约定的规律将其译回原文。例如:将每一个字母变成它后面的第4字母,即将A变成E,B变成F,…,Z变成D,非字母字符不变,“!”作为电文结束标志。要求:输入一行字符,输出其相应的密码。 展开
 我来答
百度网友dadee7f
2011-06-22 · TA获得超过1869个赞
知道小有建树答主
回答量:867
采纳率:67%
帮助的人:391万
展开全部
#include <stdio.h>
void main()
{
char context[256];
int i=0;//context数组的下标
printf("Type the original text:\n");
gets(context);
while(context[i]!='!'&&context[i]!=0)//如果原字符串忘加“!”也应能正常结束
{
if ((context[i]>='A'&&context[i]<='V')||(context[i]>='a'&&context[i]<='v'))
context[i]=context[i]+4;
else if ((context[i]>='W'&&context[i]<='Z')||(context[i]>='w'&&context[i]<='z'))
context[i]=context[i]-22;
i++;
}
puts(context);
getchar();
}
畅景彰b5
2011-06-22 · TA获得超过4374个赞
知道小有建树答主
回答量:839
采纳率:0%
帮助的人:1273万
展开全部
这个是你要的程序,比楼上的精简,vc6通过调试运行了。
#include <stdio.h>
main()
{
char str[200]="";
int nCounti;
printf("input the content:\n");
gets(str);
for(nCounti=0;*(str+nCounti)!='!';nCounti++)
{
if((*(str+nCounti)>='A'&&*(str+nCounti)<='Z')||(*(str+nCounti)>='a'&&*(str+nCounti)<='z'))
{
*(str+nCounti)=*(str+nCounti)+4;
if((*(str+nCounti)>'z')||(*(str+nCounti)>'Z'&&*(str+nCounti)<'a'))
{
*(str+nCounti)=*(str+nCounti)-26;
}
}
}
puts(str);
getchar();
}
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
a19715
推荐于2018-03-11 · TA获得超过5055个赞
知道大有可为答主
回答量:2174
采纳率:60%
帮助的人:486万
展开全部
#include<stdio.h>
void main()
{
int c;
while(c = getchar())
'a'<=c&&c<='v'||'A'<=c&&c<='V'?putchar(c+4):'w'<=c&&c<='z'||'W'<=c&&c<='Z'?putchar(c-22):putchar(c);
}
----------------------------------------
估计这是代码最少的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
松甜恬0Je4ba
2011-06-22 · TA获得超过2.6万个赞
知道大有可为答主
回答量:7475
采纳率:100%
帮助的人:3421万
展开全部
#include<stdio.h>
#include<string.h>
int main()
{
char p[80];
char ch;
int len;
int i=0;
while((ch=getchar())!= '!')
{
p[i] = ch;
i++;
}
len = i;
p[len] = '\0'; //加上结束符。
for(i =0;i<len;i++)
{
if( p[i]>='A' && p[i]<='V')
{
p[i] = p[i]+4;
}
if(p[i] == 'W')
{
p[i] = 'A';
}
if(p[i] == 'X')
{
p[i] = 'B';
}
if(p[i] == 'Y')
{
p[i] = 'C';
}
if(p[i] == 'Z')
{
p[i] = 'D';
}
}
printf("%s",p);
getchar();
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式