一、问题描述:
现在有一个数组,数组的内容是{3,7,10,12,18,20},要在保证数组有序的情况下,插入15,形成一个新的数组并输出
二、解决环境:
Visual Studio
三、解决方法:
采用的方法是用两个数组来实现,并且输出新的数组。
四、代码实现:
#include<stdio.h>
#include<math.h>
#include<string.h>
int main() {
int x = 15;// 要插入的数字
int oldarray[6] = { 3,7,10,12,18,20 };//刚开始的数组
int newarray[7];//新生成是数组
int j = 0;//old的计数
int ifinsert = 0;//0说明还没有插入,后面变成一说明已经插入了15了
for (int i = 0; i < 7; i++) {
if (oldarray[j] <= x ) {//如果当前数组的元素小于15,直接放进新的数组
newarray[i] = oldarray[j];
j = j + 1;
}
else if(oldarray[j] >= x &&ifinsert == 0){//如果当前数组的元素大于等于15,则把15放进去
newarray[i] = x;
ifinsert = 1;
}
else if (oldarray[j] >= x && ifinsert == 1) {//接下来如果当前数组的元素大于等于15且已经放了一个15,则直接放进新的数组
newarray[i] = oldarray[j];
j = j + 1;
}
}
for (int i = 0; i < 7; i++) {
printf("%d,", newarray[i]);
}
return 0;
}
五、实验结果:
这里是实验结果的展示