C语言 将“China”译成密码

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

#include <stdio.h>

int main() {
    char c1 = 'C', c2 = 'h', c3 = 'i', c4 = 'n', c5 = 'a';
    c1 += 4;
    c2 += 4;
    c3 += 4;
    c4 += 4;
    c5 += 4;

    putchar(c1);
    putchar(c2);
    putchar(c3);
    putchar(c4);
    putchar(c5);
    printf("\n");

    printf("%c%c%c%c%c\n", c1, c2, c3, c4, c5);

    return 0;
}

问题分析和解释说明:

任务:将字符串“China”译成密码。

原理:每个字母替换为后面第4个字母,形成新的字符串。

步骤

  1. 初始化字符变量 c1c5 为 "China" 的字符。
  2. 每个字符增加4,得到新字符。
  3. 使用 putcharprintf 输出新字符串。
要将 "China" 这个字符串转换成每字符的 ASCII 值加10后表示的密码,你可以按照以下步骤编写 C 代码: ```c #include <stdio.h> #include <string.h> // 函数用于加密字符串 void encrypt(char *str, char *encrypted) { int len = strlen(str); for (int i = 0; i < len; ++i) { encrypted[i] = str[i] + 10; } encrypted[len] = '\0'; // 添加字符串结束符 } // 函数用于解密字符串 char *decrypt(char *encrypted, char *original) { int len = strlen(encrypted); original[0] = encrypted[0] - 10; // 解码第一个字符 for (int i = 1; i < len; ++i) { original[i] = encrypted[i] - 10; } original[len] = '\0'; // 删除最后一个空字符 return original; } int main() { char input[] = "China"; char encrypted[50]; char decrypted[50]; // 加密 encrypt(input, encrypted); printf("Encoded password: %s\n", encrypted); // 解密并检查还原结果 decrypt(encrypted, decrypted); if (strcmp(decrypted, "China") == 0) { printf("Decoded string matches: %s\n", decrypted); } else { printf("Decoded string does not match: %s\n", decrypted); } return 0; } ``` 这段代码首先定义了两个辅助函数 `encrypt` 和 `decrypt`,分别负责加密和解密字符串。在 `main` 函数中,我们创建了两个字符数组 `input` 和 `encrypted` 分别存储原始字符串和加密后的结果,以及 `decrypted` 存储解密后的结果。 运行这个程序,你会看到加密后的密码(ASCII 值加10的结果),然后解码并检查是否恢复到原字符串 "China"。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值