标题:求大神看看
只看楼主
亍_
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2018-11-11
结帖率:25%
已结贴  问题点数:10 回复次数:6 
求大神看看
有一行电文,已按下面规律译成密码A-z a-z B-Y b-y C-X c_x ; ; 即第1个字母变成品率6个字母,第i个字母变成第(26-i+1)个字母.非字母字符不变.要求编程序将密码译回原文,并输出密码和原文.
#include <stdio.h>
int main()
{
    char a[122],b[122];
    int n=0,m;
    printf("输入密码\n");
    gets(a);
    m=sizeof(a);
    while(n<m)
    {
        if(a[n]<91)
            b[n]=90-a[n]+65;
        else
            b[n]=122-a[n]+97;
        n++;
    }
    printf("密码:%s\n原文:%s\n",a,b);
    return 0;
}


为什么会出现乱码
搜索更多相关主题的帖子: 密码 字母 int printf while 
2018-11-11 15:16
Tomorrw_I
Rank: 10Rank: 10Rank: 10
等 级:禁止访问
威 望:6
帖 子:406
专家分:1712
注 册:2018-10-16
得分:5 
m=sizeof(a);  这句,算出来的是a[122]的内存长度

你自己让他循环122次的,当然会是这样!
sizeof

学C有用吗?
学C++有前途吗?
数据库有必要学吗?
……
别问,你还什么都不会,学就对了
……
2018-11-11 15:51
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:5 
gets(a);
m=sizeof(a); 这句什么意思?取a串的长吗。
2018-11-11 15:52
亍_
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2018-11-11
得分:0 
回复 2楼 Tomorrw_I
那总不能为空吧
2018-11-11 15:58
Tomorrw_I
Rank: 10Rank: 10Rank: 10
等 级:禁止访问
威 望:6
帖 子:406
专家分:1712
注 册:2018-10-16
得分:0 
回复 4楼 亍_
初始化数组一下,全部赋值为0!  然后用0这个结尾来判断密码长度!   
方法很多,这个方法,给你参考下

学C有用吗?
学C++有前途吗?
数据库有必要学吗?
……
别问,你还什么都不会,学就对了
……
2018-11-11 16:22
Tomorrw_I
Rank: 10Rank: 10Rank: 10
等 级:禁止访问
威 望:6
帖 子:406
专家分:1712
注 册:2018-10-16
得分:0 
乱码是因为,内存是未知数据!

学C有用吗?
学C++有前途吗?
数据库有必要学吗?
……
别问,你还什么都不会,学就对了
……
2018-11-11 16:28
亍_
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2018-11-11
得分:0 
回复 5楼 Tomorrw_I
#include <stdio.h>
int main()
{
    char a[4],b[4];
    int n=0;
    printf("输入密码\n");
    gets(a);
    while(n<4)
    {
        if(a[n]<91)
            b[n]=90-a[n]+65;
        else
            b[n]=122-a[n]+97;
        n++;
    }
    printf("密码:%s\n",a);
    printf("原文:%s\n",b);
    return 0;
}

如果我改成这样,那原文后面的abcd又是怎么回事?
2018-11-11 16:29



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-491170-1-1.html




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

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