习题 3.6 请编程序将"China"译成密码,密码规律是:用原来的字母后面第4个字母代替原来的字母。

来源:互联网 发布:matlab mac 2015b官方 编辑:程序博客网 时间:2024/06/01 10:43

C程序设计 (第四版) 谭浩强 习题3.6 个人设计

习题 3.6 请编程序将”China”译成密码,密码规律是:用原来的字母后面第4个字母代替原来的字母。例如:字母“A”后面第4个字母时”E”,用”E”代替”A”。因此,”China”应译为”Glmre”。请编一程序,用赋初值的方法使c1, c2, c3, c4, c5这5个变量的值分别为’C’, ‘h’, ‘i’, ‘n’, ‘a’, 经过运算,使c1, c2, c3, c4, c5分别为’G’, ‘l’, ‘m’, ‘r’, ‘e’。分别用putchar函数和printf函数输出这个5个字符。

代码块

方法1:(利用顺序结构)

#include <stdio.h>int main(){    //给5个变量赋初值    char c1 = 'C';    char c2 = 'h';    char c3 = 'i';    char c4 = 'n';    char c5 = 'a';    //输出原代码    putchar(c1);    putchar(c2);    putchar(c3);    putchar(c4);    putchar(c5);    putchar('\n');    //原代码加密    c1 += 4;    c2 += 4;    c3 += 4;    c4 += 4;    c5 += 4;    printf("%c%c%c%c%c\n", c1, c2, c3, c4, c5);    return 0;}

方法2:(利用函数的模块化设计)

#include <stdio.h>void encrypt(char pw[], int c);                       //定义加密函数int main(){    char c[5];    for (int i = 0; i < 5; scanf("%c", &c[i]), i++);  //输入5个字符    encrypt(c, 5);                                    //加密    puts(c);    return 0;}//加密函数void encrypt(char pw[], int c){    for (int i = 0; i < c; pw[i] += 4, i++);    pw[i] = '\0';}
阅读全文
0 0
原创粉丝点击