| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 899 人关注过本帖
标题:求大神,谁能帮我修改下这段代码
只看楼主 加入收藏
爱编程的C
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2012-6-9
收藏
 问题点数:0 回复次数:3 
求大神,谁能帮我修改下这段代码
使之实现这样的效果。不会,求大神帮忙。并附上解释,谢谢啦
比如原文为abcdef,偏移量为5,则有abcdef每个字母按字母表向后移动5位(注:z后接a)可得到密文fghijk。如果要对该文件解密:文件内容为fghijk,偏移量为5,则有fghijk每个字母向前移动5位(注a后接z),可得到原文abcdef。
代码:#include<conio.h>
#include<stdio.h>
#include<stdlib.h>
#define Maxsize 50
struct node
{
    char data;
    int flag;
    struct node *next;
}node;
main()
{
    int key=0,i=0,j=0,num=0;
    char chr[Maxsize],*tmp;
    struct node *p;
    struct node *head;
    printf("请输入原文:\n");
    gets(chr);
    tmp=chr;
    while(*tmp++!='\0') num++;
    printf("请输入偏移量:\n");
    scanf("%d",&key);
/*****建立链表****/
head=(struct node *)malloc(sizeof(struct node));   
p=head;     
for(i=0;i<(num-1);i++)  {
       p->data=NULL;                     
    p->flag=0;                     
    p->next=(struct node *)malloc(sizeof(struct node));  
    p=p->next;     
}
p->data=NULL;
p->flag=0;
p->next=head;     
/****加密实现***/
p=head;     
for(i=0;i<num;i++)  {
    for(j=1;j<=key;)         
{
        p=p->next;
        if(p->flag==0) j++;     
}
p->data=chr[i];
p->flag=1;
}
printf("密文:\n");
for(i=0;i<num;i++)
{
    printf("%c",p->data);
    p=p->next;
}
getch();
}
搜索更多相关主题的帖子: 移动 include 字母表 
2012-06-09 13:55
gao114329976
Rank: 2
等 级:论坛游民
帖 子:3
专家分:10
注 册:2012-6-12
收藏
得分:0 
你用什么运行的啊,我用VB没错啊
2012-06-12 14:59
ZeroKill
Rank: 1
等 级:新手上路
帖 子:9
专家分:3
注 册:2012-7-24
收藏
得分:0 
直接把每个字母的对应的ASCLL码加5或者说减5!
2012-07-24 21:45
silent_world
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:1
帖 子:258
专家分:1138
注 册:2011-9-24
收藏
得分:0 
void add_five(char *src)
{
     while(*src){
          *src = (*src - 'a' + 5) % 26 + 'a';
          src++;
     }
}
2012-07-25 19:15
快速回复:求大神,谁能帮我修改下这段代码
数据加载中...
 
   



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

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