挽莹雪 2021-12-14 16:12 采纳率: 50%
浏览 50
已结题

编程:往一个递增的数列中插入一个数。问题:但是在边界处就不行了,求改

img

  • 写回答

2条回答 默认 最新

  • qzjhjxj 2021-12-14 17:10
    关注

    修改如下,供参考:

    #include <stdio.h>
    void  main()
    {
        int a[11], i = 0, key, j;
        printf("please enter ten numbers\n");
        for (i = 0; i < 10; i++)
            scanf("%d", &a[i]);
        printf("please enter a number\n");
        scanf("%d", &key);
        for (i = 0; i < 10; i++){
            if (key >= a[9])
            {
                a[10] = key;
                break;
            }
            else{
                if(key < a[i]){
                    for (j = 10; j > i; j--)
                        a[j] = a[j - 1];
                    a[i] = key;
                    break;
                }
            }
        }
        for (i = 0; i < 11; i++)
            printf("%d ", a[i]);
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 12月22日
  • 已采纳回答 12月14日
  • 创建了问题 12月14日