卜玲卜玲 2021-06-14 20:31 采纳率: 100%
浏览 30
已采纳

一道简单的C语言编程题

 

  • 写回答

2条回答 默认 最新

  • CSDN专家-link 2021-06-14 21:22
    关注

    逐个字符判断,如果大于插入字符,则该字符之后所有字符后移一个位置,插入字符写入该字符位置

    char *insert(char *string ,char c)
    {
        int i,j,n = 0;
        for(i=0;string[i] != 0;i++)
            n++;
        for(i=0;string[i] != 0;i++)
        {
            if(string[i] >= c)
            {
                for(j=n;j>i;j--)
                    string[j] = string[j-1];
                string[i] = c;
                break;
            }
        }
        if(i==n)
            string[n] = c;
        return string;
    }
    
    void main()
    {
        char string[50] = {0};
        scanf("%s",string);
        getchar();
        char c;
        scanf("%c",&c);
        char *p = insert(string,c);
        printf("%s",p);
    }
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 chaquopy python 安卓
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 有没有帮写代码做实验仿真的
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥30 vmware exsi重置后登不上
  • ¥15 易盾点选的cb参数怎么解啊
  • ¥15 MATLAB运行显示错误,如何解决?
  • ¥15 c++头文件不能识别CDialog
  • ¥15 Excel发现不可读取的内容
  • ¥15 关于#stm32#的问题:CANOpen的PDO同步传输问题