1-4 数组元素的区间删除 (20 分)

题目:

给定一个顺序存储的线性表,请设计一个函数删除所有值大于min而且小于max的元素。删除后表中剩余元素保持顺序存储,并且相对位置不能改变。

函数接口定义:

 int Delete( int A[], int L, int minA, int maxA );

其中A是整型数组,存储原始线性表的元素;L是表长,即A中元素的个数;minAmaxA分别为待删除元素的值域的下、上界。函数Delete应将A中所有值大于minA而且小于maxA的元素删除,同时保证表中剩余元素保持顺序存储,并且相对位置不变,最后返回删除后的表长。

裁判测试程序样例:

 #include <stdio.h>#define MAXN 20int Delete( int A[], int L, int minA, int maxA );int main()
{int A[MAXN], L, minA, maxA, i;scanf("%d", &L);for (i=0; i<L; i++) scanf("%d", &A[i]);scanf("%d %d", &minA, &maxA);L = Delete(A, L, minA, maxA);for (i=0; i<L; i++) printf("%d ", A[i]);printf("\n");return 0;
}/* 你的代码将被嵌在这里 */

输入样例:

10
4 -8 2 12 1 5 9 3 3 10
0 4

输出样例:

4 -8 12 5 9 10

先上错误代码①
int Delete( int A[], int L, int minA, int maxA )
{int i,k,h=L;for(i=0;i<h;i++){if(A[i]<maxA&&A[i]>minA){for(k=i+1;k<h;k++){A[k-1]=A[k];}h=L-1;}}return h;
}

第一次的错因还不清楚

上错误代码②
int Delete( int A[], int L, int minA, int maxA ){int b[L],i,k;for(i=0,k=0;i<L;i++){if(A[i]<=minA||A[i]>=maxA){b[k]=A[i];k++;}}for(i=0;i <=k;i++)A[i]=b[i];return k+1 ;}

哈哈哈,注意k最后是多加了个一。
改完后20分 :

 int Delete( int A[], int L, int minA, int maxA ){int b[L],i,k;for(i=0,k=0;i<L;i++){if(A[i]<=minA||A[i]>=maxA){b[k]=A[i];k++; //!!!!!!!!!!}}for(i=0;i < k;i++)//!!!!!!  < k{A[i]=b[i];}return k ;//!!! k}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/429616.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LightOJ - 1245 Harmonic Number (II) 求同值区间的和

题目大意&#xff1a;对下列代码进行优化 long long H( int n ) { long long res 0; for( int i 1; i < n; i ) res res n / i; return res;} 题目思路&#xff1a;为了避免超时&#xff0c;要想办法进行优化 以9为例&#xff1a; 9/1 9 9/2 4 9/3 3…

1-9 最长连续递增子序列 (20 分)

给定一个顺序存储的线性表&#xff0c;请设计一个算法查找该线性表中最长的连续递增子序列。例如&#xff0c;(1,9,2,5,7,3,4,6,8,0)中最长的递增子序列为(3,4,6,8)。 输入格式: 输入第1行给出正整数n&#xff08;≤10 ​5 ​​ &#xff09;&#xff1b;第2行给出n个整数&am…

1-1 顺序表操作集 (20 分)

本题要求实现顺序表的操作集。 函数接口定义&#xff1a; List MakeEmpty(); Position Find( List L, ElementType X ); bool Insert( List L, ElementType X, Position P ); bool Delete( List L, Position P );其中List结构定义如下&#xff1a; typedef int Position; t…

1-5 线性表元素的区间删除 (20 分)

题目&#xff1a; 给定一个顺序存储的线性表&#xff0c;请设计一个函数删除所有值大于min而且小于max的元素。删除后表中剩余元素保持顺序存储&#xff0c;并且相对位置不能改变。 函数接口定义&#xff1a; List Delete( List L, ElementType minD, ElementType maxD );其…

Unknown storage engine 'InnoDB'

报错情况&#xff1a;在导入数据时候发现找不到InnoDB这个错误&#xff0c;之前查看博客时候明白了IsAsm数据库和InnoDB这两个的区别了。 解决方案&#xff1a; 尝试一&#xff1a;将my.ini配置文件的isasm改成InnoDB。这个是之前参考博客完成。但是这个没有奏效。 尝试二&…

2-10 [搞定!]出栈序列的合法性 (20 分)

给定一个最大容量为 M 的堆栈&#xff0c;将 N 个数字按 1, 2, 3, …, N 的顺序入栈&#xff0c;允许按任何顺序出栈&#xff0c;则哪些数字序列是不可能得到的&#xff1f;例如给定 M5、N7&#xff0c;则我们有可能得到{ 1, 2, 3, 4, 5, 6, 7 }&#xff0c;但不可能得到{ 3, 2…

Java中有关Null的9件事

对于Java程序员来说&#xff0c;null是令人头痛的东西。时常会受到空指针异常&#xff08;NPE&#xff09;的骚扰。连Java的发明者都承认这是他的一项巨大失误。Java为什么要保留null呢&#xff1f;null出现有一段时间了&#xff0c;并且我认为Java发明者知道null与它解决的问题…

3-5 单链表分段逆转 (20 分)

给定一个带头结点的单链表和一个整数K&#xff0c;要求你将链表中的每K个结点做一次逆转。例如给定单链表 1→2→3→4→5→6 和 K3&#xff0c;你需要将链表改造成 3→2→1→6→5→4&#xff1b;如果 K4&#xff0c;则应该得到 4→3→2→1→5→6。 函数接口定义&#xff1a; v…

studio快捷键

转载于:https://www.cnblogs.com/hoobey/p/6431027.html

c语言编写单片机技巧

1. c语言和汇编语言在开发单片机时各有哪些优缺点&#xff1f; 答&#xff1a;汇编语言是一种用文字助记符来表示机器指令的符号语言&#xff0c;是最接近机器码的一种语言。其主要优点是占用资源少、程序执行效率高。但是不同的cpu&#xff0c;其汇编语言可能有所差异&#xf…

7-1 叶节点求和 (30 分)

对给定的有N个节点&#xff08;N>0&#xff09;的二叉树&#xff0c;求叶节点元素之和。 输入格式: 第一行是一个非负整数N&#xff0c;表示有N个节点 第二行是一个整数k&#xff0c;是树根的元素值 接下来有N-1行&#xff0c;每行是一个新节点&#xff0c;格式为 r d e …

Docker的学习笔记(开发的技术分享转发)

我的Docker学习记录一、安装dockeryum install -y docker-io二、使用docker1、下载镜像docker pull <image>2、查询镜像docker search <image> 3、从镜像运行容器docker run -it --name <name> <image> /bin/bash4、后台运行docker run -itd --name &l…

PhoneUtils

import java.util.regex.Matcher; import java.util.regex.Pattern;public class PhoneUtils {/*** param phoneNo* 加星号过的电话号码*/public static String dealPhoneNo(String phoneNo) {return phoneNo.substring(0, 3) "****" phoneNo.substring…

批量更新

这是最基本的批量更新。我使用的时候还不如逐条。 这好像还是官方的批量更新&#xff0c;反正不咋地。 ///批量更新&#xff0c;效率太低&#xff0c;不如逐条更新static void Update(){SqlDataAdapter sda new SqlDataAdapter("select PID,FMAddress,MeanValue1,StatsVa…

java实例练习——基于TCP/IP协议的多客户端通信

先说一下大概的思路&#xff1a; 应用多线程来实现服务器与多客户端之间的通信 1、服务器端创建ServerSocket&#xff0c;循环调用accept&#xff08;&#xff09;等待客户端连接&#xff1b; 2、客户端创建一个Socket并请求与服务器端连接&#xff1b; 3、服务器端接受客户端请…

windows资源管理器已停止工作后,使用命令提示窗口拷贝文件和运行exe程序

电脑异常现象&#xff1a; 需要从优盘拷贝NetAssist.exe软件至电脑进行运行&#xff0c;发现双击无法打开我的电脑和文件夹&#xff0c;点击提示的重新启动程序问题后仍存在&#xff0c;重启电脑、关机再开机该问题依然存在。插入优盘后可以识别到&#xff0c;但无法打开优盘&…

DAC8563芯片参考手册重要内容总结

DAC8563的主要参数&#xff1a; 供电电压&#xff1a;2.7~5.5V分辨率&#xff1a;16bit&#xff0c;双通道通讯接口&#xff1a;3线SPI串行通讯&#xff0c;速率最高至50MHz&#xff0c;支持3.3V和5V单片机&#xff08;有MOSI/CLK/CS&#xff0c;无MISO&#xff09;内部自带2.…

20155220 吴思其 2016-2017《java程序设计》第一周总结

对第一章和第二章的学习 通过了前两章的学习&#xff0c;我了解到了java的由来以及JVM/JRE/JDK三大平台 JDK JDK 是 Java 语言的软件开发工具包。 JDK是整个JAVA的核心&#xff0c;包括了Java运行环境&#xff0c;一堆Java工具&#xff08;javac/java/jdb等&#xff09;和Java基…

手把手教你从0创建STM32串口空闲+DMA数据接收工程

串口通讯是嵌入式系统中最常用的通讯方式。 STM32的串口接收普通的方式是在串口读数据寄存器非空RXNE中断&#xff08;Read data register not empty&#xff09;中1个字节1个字节的接收串口数据&#xff0c;一帧数据的接收完成可以使用结束帧判断&#xff0c;也可以使用定时器…

CSS display属性的值及作用

display 的属性值有&#xff1a;none|inline|block|inline-block|list-item|run-in|table|inline-table|table-row-group|table-header-group|table-footer-group|table-row|table-column-group|table-column|table-cell|table-caption|inherit其中常用的的有none、inline、blo…