C语言经典案例:有一个已经排好序的数组。现输入一个数,要求按
需求描写:有一个曾经排好序的数组。现输出一个数,请求按本来的纪律将它拔出数组中。
C语言案例剖析:起首断定此数能否大于最初一个数,而后再斟酌拔出中央的数的情形,拔出后此元素以后的数,顺次后移一个地位。
实现代码如下:
#include<stdio.h>
int main()
{
int a[11]={1,4,6,9,13,16,19,28,40,100};
int temp1,temp2,number,end,i,j;
printf("原始数组是:\n");
for(i=0;i<10;i++)
printf("%4d",a[i]);
printf("\n拔出一个新的数字: ");
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("%4d",a[i]);
printf("\n");
return 0;
}
本案例运行效果如下:
原始数组是:
1 4 6 9 13 16 19 28 40 100
拔出一个新的数字: 10
1 4 6 9 10 13 16 19 28 40 100
本文由IT教学网整理发布,转载请注明出处:http://www.itjx.com/jiaocheng/cyuyan/1028.html