《C语言及程序设计》实践参考——M$pszi$y是嘛意思

返回:贺老师课程教学链接  实践要求


【项目1-M$pszi$y是嘛意思?】
背景:小明让同学传纸条给小丽。小丽接到会心一笑,大家却不知所云。纸条上写着M$pszi$y,两人暗中约定是,真实字符为实际字符前面的第4个!M$pszi$y是神马意思?推算一下,或从ASCII码表中查一下,自然是I love u。
(1)小明请你写一个程序,在给小丽写情书时,再不用费功夫自己“翻译”,原信中每一个字符加密为其后的第4个字符。例,输入I love u,输出M$pszi$y。
[参考解答]
#include<stdio.h>  
int main()  
{  
    char s[80], t[80];  
    int i;  
    gets(s);  
    for(i=0; s[i]!='\0'; i++)  
    {  
        t[i] = s[i]+4;  
    }  
    t[i] = '\0'; //此时i为?  
    printf("%s\n", t);  
    return 0;  
}  


(2)小丽请你写一个程序,在看小明的情书时,让程序帮着“解密”。因为有同学知道了他们俩人的“加密”手段,决定纸条由人传,加密数字(1-9)用两人约好的手势传,所以解密时,需要将加密数字作为程序输入。例,输入M$pszi$y(回车)4,输出I love u
[参考解答]
#include<stdio.h>  
int main()  
{  
    char s[80], t[80];  
    int i, n;  
    printf("输入待解密句子:");  
    gets(s);  
    printf("输入加密数字:");  
    scanf("%d", &n);  
    char *pt = t;  
    for(i=0; *(s+i)!='\0'; i++,pt++)  
    {  
        *pt = s[i]-n;  
    }  
    *pt = '\0';  
    printf("%s\n", t);  
    return 0;  
} 


(3)小刚常帮着传纸条,想知道俩人的秘密,但不知道加密数字,于是写了一个程序,可以列出所有可能的情况。例,输入M$pszi$y,多行输出中必然有一行是I love u。你就是小刚,写出这个程序来吧。
[参考解答]
#include<stdio.h>  
int main()  
{  
    char s[80], t[80], *pt;  
    int i, n;  
    printf("输入待解密句子:");  
    gets(s);  
    for(n=1; n<9; n++)  
    {  
        pt = t;  
        for(i=0; *(s+i)!='\0'; i++,pt++)  
        {  
            *pt = s[i]-n;  
        }  
        *pt = '\0';  
        printf("%s\n", t);  
    }  
    return 0;  
}


评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

迂者-贺利坚

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值