月棉 2023-02-22 21:57 采纳率: 100%
浏览 17
已结题

凯撒密码但加密结果不对

找着网上的代码抄的,除了名称不一样其他基本都一样,但就是我的代码跑起来有问题,还看不出来,有人能解答一下吗?

img

#include <stdio.h>



int main() {
    char a[100];
    int n = 3;
    void forge(char b[]);
    printf("明文:");

    gets(a);
    forge(a);
    printf("密文:%s\n", a);
}

void forge(char b[]) {
    int i;
    for (i = 0; b[i] != '\0'; i++) {
        if (b[i] >= 'a' && b[i] <= 'z') {
            b[i] += 3;
            
            if (b[i] > 'z')
                b[i] -= 26;
        } else if (b[i] >= 'A' && b[i] <= 'Z')
            b[i] += 3;
        
        if (b[i] > 'Z')
            b[i] -= 26;

    }

}

  • 写回答

3条回答 默认 最新

  • 快乐鹦鹉 2023-02-22 22:08
    关注

    else if部分没有加大括号啊

    #include <stdio.h>
     
     
     
    int main() {
        char a[100];
        int n = 3;
        void forge(char b[]);
        printf("明文:");
     
        gets(a);
        forge(a);
        printf("密文:%s\n", a);
    }
     
    void forge(char b[]) {
        int i;
        for (i = 0; b[i] != '\0'; i++) {
            if (b[i] >= 'a' && b[i] <= 'z') 
            {
                b[i] += 3;
                if (b[i] > 'z')
                    b[i] -= 26;
            } 
            else if (b[i] >= 'A' && b[i] <= 'Z')
             {
                b[i] += 3;
                if (b[i] > 'Z')
                     b[i] -= 26;
           }
        }
     
    }
     
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 3月3日
  • 已采纳回答 2月23日
  • 创建了问题 2月22日

悬赏问题

  • ¥15 问题重发,R语言:代码运行过程中出现如下警告,请求如何解决!
  • ¥15 神经网络模型一直不能上GPU
  • ¥15 苍穹外卖拦截器token为null
  • ¥15 pyqt怎么把滑块和输入框相互绑定,求解决!
  • ¥20 wpf datagrid单元闪烁效果失灵
  • ¥15 券商软件上市公司信息获取问题
  • ¥100 ensp启动设备蓝屏,代码clock_watchdog_timeout
  • ¥15 Android studio AVD启动不了
  • ¥15 陆空双模式无人机怎么做
  • ¥15 想咨询点问题,与算法转换,负荷预测,数字孪生有关