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

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

    点击查看原文,谢谢!

  • 相关阅读:
    今日计划
    今日计划
    个人品质
    翻译 《Why Indy?》计划&进度表
    今日计划
    一粒老鼠屎
    开两本字典聊天的感觉
    ObjectiveC初学指南
    todo格式定义
    制作TortoiseSVN最新版本的中文DLL(转)
  • 原文地址:https://www.cnblogs.com/kangyifan/p/13054695.html
Copyright © 2011-2022 走看看