| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1901 人关注过本帖
标题:字符串的加密解密,编辑器没有任何报错 但是不能运行
只看楼主 加入收藏
何以为孤
Rank: 2
等 级:论坛游民
帖 子:61
专家分:10
注 册:2017-10-7
结帖率:89.47%
收藏
已结贴  问题点数:20 回复次数:2 
字符串的加密解密,编辑器没有任何报错 但是不能运行
/*
     2017.11.26    16.00
       字符串的加密与解密:
       方式:
       加密的方式是  讲字符串中的每个字符加上他在字符串中位置个一个偏移值5.
       eg: 以字符串mrsoft;第一个字符m在字符串中的位置为0;那么它对应的秘闻是'm'+0+5;
       大体流程:1,使用while语句设置一个无限循环,并声明两个字符数组,用来保存明文和密文 的字符串;
                 2.在首次循环中要用户输入字符串,将明文加密成密文的操作,然后在根据用户输入的命令字符进行判断,
                 3,要求1表示加密成新的明文,2表示对刚刚加密的密文进行解密。3表示退出程序。
*/
#include<stdio.h>
#include<string.h>
int main()
{
    int a = 1;
    int i;
    int b = 0;
    char m[128] = { "\0" };     //定义一个明文字符数组
    char n[128] = { "\0" };     //定义一个密文的字符数组

    while (1)
    {
        if (a ==1)        //如果是加密明文
        {
            printf("请输入要加密的明文;\n");     //输出字符串
            scanf_s("%s", m,128);                     // 获取输入的明文
            b = strlen(m);      

            for (i = 0; i < b; i++)               //遍历明文
            {
                n [i]= m[i] + i + 5;              //设置加密字符
                 
            }
            n[i] = '\0';                          //设置字符串结束标记
            //输出密文信息
            printf("加密后的密文是:%s\n", m);
        }
        else if (a ==2)                         //如果输解密字符串
        {
            b = strlen(m);
            for (i = 0; i < b; i++)             //遍历密文字符串
            {
                m[i] = n[i] - i -5;             //设置解密字符
            }
            m[i] = '\0';                        //设置字符串结束标记
            //输出明文信息
            printf("解密后的明文是:%s\n", m);
        }
        else if (a == 3)                        //如果是退出系统
        {
            break;                             //跳出循环
        }
        else
        {
            printf("请输入命令符:\n");   // 输出字符串
        }
        //输出字符串
        printf("输入1加密新的明文,输入2对刚加密的密文进行解密,输入3退出系统:\n");
        printf("请输入命令符:\n");              //获取输入的命令字符
        scanf_s("%d", a);
    }
    getchar();
    getchar();
    return 0;                                    //程序结束
}
搜索更多相关主题的帖子: 字符串 加密 解密 字符 输入 
2017-11-26 18:10
吹水佬
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:451
帖 子:10609
专家分:43210
注 册:2014-5-20
收藏
得分:20 
            //printf("加密后的密文是:%s\n", m);
            printf("加密后的密文是:%s\n", n);

        //scanf_s("%d", a);
        scanf("%d", &a);
2017-11-26 19:02
丶木清丶
Rank: 2
等 级:论坛游民
帖 子:7
专家分:22
注 册:2017-11-27
收藏
得分:0 
倒数第六行:scanf("%d", &a);
2017-11-29 22:11
快速回复:字符串的加密解密,编辑器没有任何报错 但是不能运行
数据加载中...
 
   



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

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