题目:有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。
代码:
#include <stdio.h>
#define N 10
int main()
{
int a[N]={1,3,5,7,9,11,13,15,17}; //元素数组
int n=N;
int i,temp;
printf("原始数组是:\n");
for(i=0;i<N-1;i++)
printf("%d ",a[i]);
printf("\n插入一个新的数字: ");
scanf("%d",&a[N-1]);
while(a[n-1]<a[n-2]){
temp=a[n-2];
a[n-2]=a[n-1];
a[n-1]=temp;
n--;
}
printf("插入后的数组是:\n");
for(i=0;i<N;i++)
printf("%d ",a[i]);
return 0;
}
运行测试1:
原始数组是:
1 3 5 7 9 11 13 15 17
插入一个新的数字: 2
插入后的数组是:
1 2 3 5 7 9 11 13 15 17
运行测试2:
原始数组是:
1 3 5 7 9 11 13 15 17
插入一个新的数字: 1
插入后的数组是:
1 1 3 5 7 9 11 13 15 17
运行测试3:
原始数组是:
1 3 5 7 9 11 13 15 17
插入一个新的数字: 0
插入后的数组是:
0 1 3 5 7 9 11 13 15 17
运行测试4:
原始数组是:
1 3 5 7 9 11 13 15 17
插入一个新的数字: 17
插入后的数组是:
1 3 5 7 9 11 13 15 17 17
运行测试5:
原始数组是:
1 3 5 7 9 11 13 15 17
插入一个新的数字: 18
插入后的数组是:
1 3 5 7 9 11 13 15 17 18