| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 537 人关注过本帖
标题:凯撒编码译码
取消只看楼主 加入收藏
tedwugood
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2010-10-7
结帖率:60%
收藏
 问题点数:0 回复次数:0 
凯撒编码译码
大家看看有啥问题 出不了结果
#include <stdio.h>
#include <math.h>
char encode(char plain,int key);
char decode(char cipher,int key);
int main(void){
FILE *inp,*outp;
char p;
int key,choise;
printf("enter the key");
scanf("%d",&key);
printf("Do you want to 1.encode or 2.decode?");
scanf("%d",choise);
switch(choise){
        case1:
        inp=fopen("plaintext.txt","r");
        outp=fopen("ciphertext.txt","w");
         while((p=fgetc(inp))!=EOF)
               {
                fputc(encode(p,key),outp);
                }
          fclose(inp);
         fclose(outp);
         break;
         case2:
         inp=fopen("ciphertext.txt","r");
         outp=fopen("meassage.txt","w");
          while((p=fgetc(inp))!=EOF)
               {
                fputc(decode(p,key),outp);
                }
         fclose(inp);
         fclose(outp);
         break;}

return(0);
}


char encode(char plain,int key)
    {char result;
     result=(plain-65+key%26)%26+65;
     return(result);}
char decode(char cipher,int key)
     {char result;
      if(cipher-65>=(key%26)){result=(cipher-65+26-key%26)%26+65;}
      else{result=cipher+26-key%26;}
      return(result);}

[ 本帖最后由 tedwugood 于 2010-10-24 11:39 编辑 ]
搜索更多相关主题的帖子: 凯撒 译码 编码 
2010-10-24 08:31
快速回复:凯撒编码译码
数据加载中...
 
   



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

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