打卡7.19

作者: 今生何求惟你 | 来源:发表于2018-07-19 12:27 被阅读11次

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

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

程序1:

#include <stdio.h>

int main()

{

int a[10]={1,2,3,4,6,7,8,9,10};

int number,i,j,temp;

printf("Pleasr enter a munber:\n");

scanf("%d",&number);

printf("The early array element are:\n");

for(i = 0; i < 9; i++)

printf("a[%d]=%d\n",i,a[i]);

if(number > a[8])

  a[9] = number;

else

{

i=0;

while(number > a[i])

i++;

temp = a[i];

a[i] = number;

for(j = 9; j > i; j--)

{

a[j] = a[j-1];

}

a[i+1] = temp;

}

printf("The last array element are:\n");

for(i = 0; i < 10; i++)

printf("a[%d]=%d\n",i,a[i]);

return 0;

}

程序2:

main()

{

int a[11]={1,4,6,9,13,16,19,28,40,100};

int temp1,temp2,number,end,i,j;

printf("original array is:\n");

for(i=0;i<10;i++)

 printf("%5d",a[i]);

printf("\n");

printf("insert a new number:");

scanf("%d",&number);

end=a[9];

if(number>end)

 a[10]=number;

else

 {for(i=0;i<10;i++)

  { if(a[i]>number)

   {temp1=a[i];

    a[i]=number;

   for(j=i+1;j<11;j++)

   {temp2=a[j];

    a[j]=temp1;

    temp1=temp2;

   }

   break;

   }

  }

}

for(i=0;i<11;i++)

 printf("%6d",a[i]);

}

打卡7.19

相关文章

网友评论

    本文标题:打卡7.19

    本文链接:https://www.haomeiwen.com/subject/xrftmftx.html