| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1076 人关注过本帖
标题:新手提问;Caesar 加密法
只看楼主 加入收藏
w553000664
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2009-10-25
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:1 
新手提问;Caesar 加密法
Caesar 加密法是由Julius Caesar提出来的我们所知道最早的取代加密法。它最早用在军事单位。它的工作原理如下:将每个字母用其后的第三个字母来取代。范例: meet me after the toga party PHHW PH DIWHU WKH WRJD SDUWB
请利用Caesar 加密法设计一个程序:
首先接受用户选择,是加密还是解密。
加密时,接受用户的输入,当用户输入回车时,将这些输入的内容加密输出。
解密时,接受用户的输入,当用户输入回车时,将这些输入的内容解密输出。
搜索更多相关主题的帖子: 提问 Caesar 
2009-10-30 10:09
UserYuH
Rank: 12Rank: 12Rank: 12
来 自:毅华
等 级:火箭侠
威 望:8
帖 子:720
专家分:3300
注 册:2009-8-10
收藏
得分:20 
这题是练习用数组处理字符的。
程序代码:
#include <stdio.h>  
int main(void) 
{ 
 char ch,a[50]; 
 int i=0; 
 printf("1:Jia Mi\n2:Jie Mi\n\ninput:"); 
 scanf("%c",&ch); 
 getchar(); 
 gets(a); 
 
 while(a[i]!=0) 
   { 
    if(a[i]>='a'&&a[i]<='z' || a[i]>='A'&&a[i]<='Z') 
      { 
       if(a[i]<97) a[i]+=32; 
       if(ch=='1') 
         if(a[i]+3>'z') a[i]=a[i]+3-'z'-1+'A'; 
         else a[i]-=29; 
       else if(ch=='2') 
         if(a[i]-3<'a') a[i]='z'-('a'-(a[i]-3)-1); 
         else a[i]-=3; 
      } 
    i++; 
   } 
 
 puts(a); 
 getch(); 
 return 0; 
}
1 加密,2 解密。
输入不分大小写。

[ 本帖最后由 UserYuH 于 2009-10-30 12:17 编辑 ]

努力—前进—变老—退休—入土
2009-10-30 12:14
快速回复:新手提问;Caesar 加密法
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.038527 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved