听寂寞o彡看风笛o彡 2022-12-18 23:15 采纳率: 66.7%
浏览 12
已结题

C语言加密程序基础练习

img


#include<stdio.h>
void change(char *str)
{
    char *p=str;
    while (*p!='\0')
    {
        if (isupper(*p)) *p='A'+((*p+4)-'A')% 26;
        else *p='a'+((*p+4)-'a')% 26;
        p++;
    }
}
void insert (char *str1,char *str2)
{
    char *p=str1;
    char *q=str2;
    while(*p!='0')
    {
        *q=*p;
        q++;
        *q=' ';
        p++;
        q++;
    }
    *q=*p;
}
int main()
{
    char str[255],str1[255];
    while (gets(str))
    {
        change (str);
        insert (str,str1);
        printf("%s\n",str1);
    }
}

请问一下,为什么无法输出结果

  • 写回答

1条回答 默认 最新

  • bingbingyihao 2022-12-19 00:03
    关注

    回答:你的程序略微有些小问题,我给你修改了一下

    img

    #include <stdio.h>
    #include <ctype.h>
    #include <string.h>
    
    void change(char* str)
    {
        int length = strlen(str);
        for (int i = 0; i < length; i++)
        {
            if (str[i] >= 'a' && str[i] <= 'z')
            {
                if (str[i] + 4 > 'z')
                {
                    str[i] = str[i] + 3 - 'z' + 'a';
                }
                else
                {
                    str[i] = str[i] + 4;
                }
            }
            else if (str[i] >= 'A' && str[i] <= 'Z')
            {
                if (str[i] + 4 > 'Z')
                {
                    str[i] = str[i] + 3 - 'Z' + 'A';
                }
                else
                {
                    str[i] = str[i] + 4;
                }
            }
        }
        //printf("%s\n", str);
    }
    
    void insert(char* str1, char* str2)
    {
        int length = strlen(str1);
        for (int i = 0; i < length; i++)
        {
            str2[2 * i] = str1[i];
            str2[2 * i + 1] = ' ';
        }
    }
    
    int main()
    {
        char str[128] = {};
        while (scanf_s("%s", str, 128))
        {
            change(str);
    
            char str1[255] = {};
            insert(str, str1);
            printf("%s\n", str1);
        }
    }
    
    /*
    Rainisfaillingallaround
    wZxabY
    */
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 12月27日
  • 已采纳回答 12月19日
  • 创建了问题 12月18日

悬赏问题

  • ¥15 如何在animate html5文档任意位置实现文本输入功能?
  • ¥15 电机正反转电路设计中,mos管的关断问题,求原因。
  • ¥15 关于#sql#的问题:怎么找出所有同时多张有效保单的车架号
  • ¥15 KFC账号下单提示拒绝操作
  • ¥20 HC32F460串口发送仅能接到一个数据
  • ¥15 求解答一下是否可以修改一个软件运行时生成的文件内部内置的文件创建时间?
  • ¥20 WIN10蓝屏问题!
  • ¥15 Mac经常自动关机,再次打开后提示“电脑因出现问题而重新启动”
  • ¥60 使用ovito软件怎么得到金属玻璃的自由体积
  • ¥15 急!如何实现根据汇编指令推测硬件功能?