提高项目27.2解密

任务和代码:小丽请你写一个程序,在看小明的情书时,让程序帮着“解密”。因为有同学知道了他们俩人的“加密”手段,决定纸条由人传,加密数字(1-9)用两人约好的手势传,所以解密时,需要将加密数字作为程序输入。例,输入M$pszi$y(回车)4,输出I love

/*
文件名:main.c
作者:小风景
完成日期:2016.7.7
问题描述:小丽请你写一个程序,在看小明的情书时,让程序帮着“解密”。因为有同学知道了他们俩人的“加密”手段,决定纸条由人传,加密数字(1-9)用两人约好的手势传,所以解密时,需要将加密数字作为程序输入。例,输入M$pszi$y(回车)4,输出I love
程序输出:
*/

#include <stdio.h>
#include <stdlib.h>

void encrypt(char secret[],int n);
void decryption(char secret[]);
int main()
{
    char secret[100] = {0};
    int n = 0;

    printf("请输入要解密的字符:");
    gets(secret);
    printf("请输入解密的数字");
    scanf("%d",&n);
    encrypt(secret,n);

    return 0;
}

void encrypt(char secret[],int n)
{
    switch(n)
    {
    case 1:
    case 2:
    case 3:
    case 5:
    case 6:
    case 7:
    case 8:
    case 9:
        printf("解密数字错误!\n");
        break;
    case 4:
        decryption(secret);
        break;
    default:
        printf("error!");
        exit(1);
    }
}

void decryption(char secret[])
{
    int i = 0;

    printf("解密后的字符为:");
    while(secret[i] !='\0')
    {
        secret[i] -= 4;
        printf("%c",secret[i]);
        i++;
    }
}


程序运行结果:



总结:这个程序写的和题目的意思有些区别,应该为要解密的字符减去解密的数字得到解密后的字符,而不是选择一个分支,得到正确的结果。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值