knightjsh 2020-07-08 11:05 采纳率: 100%
浏览 891
已采纳

C语言编程题目——字符串简单加密

请问怎么做?

编写函数char* Decode(char *s),实现对纯字母字符串s的加密操作,返回值仍然为加密以后的s。加密规则是将字符串中大小写字母的ascii码值加4,若码值加4后大于’z’或’Z’,则该码值循环映射到a-d或A-D。

  • 写回答

1条回答 默认 最新

  • threenewbee 2020-07-08 11:18
    关注
    char* Decode(char *s)
    {
    char * s1 = (char *)malloc(sizeof(char) * (strlen(s) + 1));
    int i;
    for (i = 0; s[i]; i++)
    {
    if (s[i] >= 'A' && s[i] <= 'Z') s1[i] = (s[i] - 'A' + 4) % 26 + 'A';
    else if (s[i] >= 'a' && s[i] <= 'z') s1[i] = (s[i] - 'a' + 4) % 26 + 'a';
    else s1[i] = s[i];
    }
    s1[i] = '\0';
    return s1;
    }
    

    问题解决的话,请点下采纳

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 Qt下使用tcp获取数据的详细操作
  • ¥15 idea右下角设置编码是灰色的
  • ¥15 全志H618ROM新增分区
  • ¥15 在grasshopper里DrawViewportWires更改预览后,禁用电池仍然显示
  • ¥15 NAO机器人的录音程序保存问题
  • ¥15 C#读写EXCEL文件,不同编译
  • ¥15 MapReduce结果输出到HBase,一直连接不上MySQL
  • ¥15 扩散模型sd.webui使用时报错“Nonetype”
  • ¥15 stm32流水灯+呼吸灯+外部中断按键
  • ¥15 将二维数组,按照假设的规定,如0/1/0 == "4",把对应列位置写成一个字符并打印输出该字符