标题:将一串文本译成密码,编码
只看楼主
游鹰
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2017-11-10
结帖率:0
 问题点数:0 回复次数:4 
将一串文本译成密码,编码
Problem Description

将一串文本译成密码,密码的规律是:
 将原来的小写字母全部翻译成大写字母,大写字母全部翻译成小写字母,数字的翻译规律如下:
 
0——>9
1——>8
2——>7
3——>6
4——>5
5——>4
6——>3
7——>2
 8——>1
9——>0

然后将所有字符的顺序颠倒。

#include <stdio.h>
#include <string.h>
int main()
{
    char as[100];
    char aa[100];
    int i,j;

    gets(as);
    j=strlen(as)-1;
    for(i=0;as[i]!='\0';i++)
    {
        if(as[i]>='a' && as[i]<='z')
            as[i]=as[i]-32;
        else if(as[i]>='A' && as[i]<='Z')
            as[i]=as[i]+32;
        else if(as[i]=='0')
            as[i]=9;
        else if(as[i]=='1')
            as[i]=8;
        else if(as[i]=='2')
            as[i]=7;
        else if(as[i]=='3')
            as[i]=6;
        else if(as[i]=='4')
            as[i]=5;
        else if(as[i]=='5')
            as[i]=4;
        else if(as[i]=='6')
            as[i]=3;
        else if(as[i]=='7')
            as[i]=2;
        else if(as[i]=='8')
            as[i]=1;
        else if(as[i]=='9')
            as[i]=0;
    }
    for(int x=0;j>=0;j--,x++)
        aa[x]=as[j];


    puts(aa);

    return 0;
}
求大神指点,为什么运行是会出现乱码呢
搜索更多相关主题的帖子: 文本 密码 字母 int if 
2018-01-02 09:18
wp231957
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:神界
等 级:版主
威 望:422
帖 子:13681
专家分:53296
注 册:2012-10-18
得分:0 
&nbsp;as[i]=9;  &nbsp;as[i]='9';

DO IT YOURSELF !
2018-01-02 09:31
wp231957
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:神界
等 级:版主
威 望:422
帖 子:13681
专家分:53296
注 册:2012-10-18
得分:0 
程序代码:
#include <stdio.h>

int main()
{
    char as[100]={'\0'};
    int i;
    gets(as);
    for(i=0;as[i]!='\0';i++)
    {
        if(as[i]>='a' && as[i]<='z') as[i]=as[i]-32;
        if(as[i]>='A' && as[i]<='Z') as[i]=as[i]+32;
        if(as[i]>='0' && as[i]<='9') as[i]='i'-as[i];
    }
    puts(as);
    return 0;
}

DO IT YOURSELF !
2018-01-02 09:35
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:0 
想不通,即不肯贴链接,又不肯将题目贴完整,那你还问个屁呀!

http://acm.sdut.
根据题目要求,char as[100];就错了
2018-01-02 10:19
blackshep
Rank: 2
等 级:论坛游民
帖 子:8
专家分:25
注 册:2017-12-20
得分:0 
程序代码:
#include <stdio.h>
#include <string.h>
int main()
{
    char as[100];
    char aa[100];
    int i,j,x;

    gets(as);
    j=strlen(as)-1;
    for(i=0;as[i]!='\0';i++)
    {
        if(as[i]>='a' && as[i]<='z')      as[i]=as[i]-32;
        else if(as[i]>='A' && as[i]<='Z') as[i]=as[i]+32;
        else if(as[i]=='0')               as[i]='9';
        else if(as[i]=='1')               as[i]='8';
        else if(as[i]=='2')               as[i]='7';
        else if(as[i]=='3')               as[i]='6';
        else if(as[i]=='4')               as[i]='5';
        else if(as[i]=='5')               as[i]='4';
        else if(as[i]=='6')               as[i]='3';
        else if(as[i]=='7')               as[i]='2';
        else if(as[i]=='8')               as[i]='1';
        else if(as[i]=='9')               as[i]='0';
    }
    for( x=0;j>=0;j--,x++)
        aa[x]=as[j];
        puts(aa);

    return 0;
}


你用字符变量接收整型数据,才会乱码
2018-01-02 11:51



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




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

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