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

一道简单的C语言编程题

 

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • technologist_37
    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 评论
  • xianfajushi
    智者知已应修善业 2021-06-14 21:31

    如果是可索取代码,高效。

    点赞 1 评论
  • QA_Assistant
    有问必答小助手 2021-06-17 09:37

    您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

    如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

    ps: 问答会员年卡【8折】购 ,限时加赠IT实体书,即可 享受50次 有问必答服务,了解详情>>>https://t.csdnimg.cn/RW5m

    点赞 评论

相关推荐