zoukankan      html  css  js  c++  java
  • C 实战练习题目39

    题目:有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。

    程序分析:首先判断此数是否大于最后一个数,然后再考虑插入中间的数的情况,插入后此元素之后的数,依次后移一个位置。

    实例:

     1 #include<stdio.h>
     2 int main()
     3 {
     4     int a[11]={1,4,6,9,13,16,19,28,40,100};
     5     int temp1,temp2,number,end,i,j;
     6     printf("原始数组是:
    ");
     7     for(i=0;i<10;i++)
     8         printf("%4d",a[i]);
     9     printf("
    插入一个新的数字: ");
    10     scanf("%d",&number);
    11     end=a[9];
    12     if(number>end)
    13         a[10]=number;
    14     else
    15     {
    16         for(i=0;i<10;i++)
    17         {
    18             if(a[i]>number)
    19             {
    20                 temp1=a[i];
    21                 a[i]=number;
    22                 for(j=i+1;j<11;j++)
    23                 {
    24                     temp2=a[j];
    25                     a[j]=temp1;
    26                     temp1=temp2;
    27                 }
    28                 break;
    29             }
    30         }
    31     }
    32     for(i=0;i<11;i++)
    33         printf("%4d",a[i]);
    34     printf("
    ");
    35     return 0;
    36 }

    以上实例输出结果为:

    原始数组是:
       1   4   6   9  13  16  19  28  40 100
    插入一个新的数字: 10
       1   4   6   9  10  13  16  19  28  40 100

    感谢你的阅读,请用心感悟!希望可以帮到爱学习的你!!分享也是一种快乐!!!请接力。。。

    点击查看原文,谢谢!

  • 相关阅读:
    LeetCode Best Time to Buy and Sell Stock
    LeetCode Scramble String
    LeetCode Search in Rotated Sorted Array II
    LeetCode Gas Station
    LeetCode Insertion Sort List
    LeetCode Maximal Rectangle
    Oracle procedure
    浏览器下载代码
    Shell check IP
    KVM- 存储池配置
  • 原文地址:https://www.cnblogs.com/kangyifan/p/13054695.html
Copyright © 2011-2022 走看看