humouren


私信TA

用户名:dotcpp0780759

访问量:13

签 名:

等  级
排  名 12007
经  验 999
参赛次数 0
文章发表 1
年  龄 0
在职情况 学生
学  校 bilibili university
专  业 计算机科学与技术

  自我简介:

解题思路:
通过创建二倍的数组大小来保证有地方插入

PixPin_2024-09-14_10-53-08.png

注意事项:
为了防止数组位置越界,第0项和最后一项要分开判断
参考代码:

#include<stdio.h>

int main(){
	//创建一个数组,输入原始数据
	int num[19]={};
	int i;
	for(i = 1;i<19;i+=2){
		scanf("%d",&num[i]);
	}
	//输入要插入的数据
	int inpnum;
	scanf("%d",&inpnum);
	//如果不插入到首尾时,选择合适的位置插入
	for(i = 2;i<18;i+=2){
		if( inpnum < num[i+1] && inpnum > num[i-1]){
			num[i] = inpnum;
		}

	}
	//如果插入到首位的时候另外判断
	if(inpnum < num[1]){
		num[0] = inpnum;
	}else if(inpnum > num[17]){
		num[17] = inpnum;
	}
	//输出结果,自动过滤空白位置
	for(i = 0;i<19;i++){
		if(num[i] != 0){
			printf("%d\n",num[i]);
		}
	}
	
	return 0;
}


 

0.0分

1 人评分

  评论区

  • «
  • »