C语言王道第八周一题

Description

初始化顺序表(顺序表中元素为整型),里边的元素是 1,2,3,然后通过 scanf 读取一个元素(假如插入的是 6),插入到第 2 个位置,打印输出顺序表,每个 元素占 3 个空格,格式为 1 6 2 3,然后 scanf 读取一个整型数,是删除的位置(假如输入为 1),然后输出顺序表 6 2 3,假如输入的位置不合法,输出 false 字符串。提醒,Language 一定要选为 C++。

Input

第一次输入插入的元素值,第二次输入删除的位置

Output

假如插入的元素为 6,那么输出为 1 6 2 3 假如删除的位置为 1,那么输出为 6 2 3

代码

#include <stdio.h>

#define MaxSize 50
typedef int ElemType;//让顺序表存储其他类型元素时,可以快速完成代码修改
typedef struct{
    ElemType data[MaxSize];
    int length;
}SqList;

//顺序表的插入,因为L会变,因此要引用
bool ListInsert(SqList &L, int pos,ElemType element){
    //判断i是否合法
    if(pos < 1 || pos > L.length + 1){
        return false;
    }
    //判断存储空间是否满了,不能插入
    if(L.length >= MaxSize){
        return false;
    }
    for(int j = L.length; j >= pos; j--){
        L.data[j] = L.data[j - 1];
    }
    L.data[pos - 1] = element;
    L.length++;
    return true;
};


//删除顺序表
bool ListDelete(SqList &L,int i){
    //判断删除元素的位置是否合法
    if(i < 1 || i > L.length){
        return false;
    }
    for (int j = i; j < L.length; j++) {
        L.data[j-1] = L.data[j];
    }
    L.length--;
    return true;
}


void printList(SqList L){
    for (int i = 0; i < L.length; i++) {
        printf("%3d",L.data[i]);
    }
    printf("\n");
}
int main(){
    SqList  L;
    bool ret;//ret用来装函数的返回值
    L.data[0] = 1;
    L.data[1] = 2;
    L.data[2] = 3;
    L.length = 3;
    ElemType InsertVal;
    scanf("%d",&InsertVal);
    ret = ListInsert(L,2,InsertVal);
    if(ret){
        printf("insert sqlist success\n");
        printList(L);
    }else{
        printf("insert sqlist failed\n");
    }
    int DeleteVal;
    scanf("%d",&DeleteVal);
    ret = ListDelete(L,DeleteVal);
    if(ret){
        printf("delete sqlist success\n");
        printList(L);
    }else{
        printf("delete sqlist failed\n");
    }
    return 0;
}

结果

测试用例:把输入,输出这样的一种组合,称为测试用例。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

笔记本电脑系统Win10重装教程

当前很多用户都会使用笔记本电脑办公&#xff0c;如果笔记本电脑携带的操作系统不好用&#xff0c;就会影响到用户的办公效率&#xff0c;这时候可以给笔记本电脑重新安装一款好用的系统。以下小编带来笔记本电脑系统Win10重装教程&#xff0c;让用户们轻松给笔记本电脑重新安装…

大模型学习笔记一:大模型应开发基础(模型归类选型、安全因素选型、)

文章目录 一、大模型一些概念介绍二、市面上大模型对比三、大模型使用安全选型四、使用大模型的方式&#xff08;一问一答、Agent Function Calling、RAG、Fine-tuning五、大模型使用路线九、补充说明1&#xff09;注意力机制讲解 一、大模型一些概念介绍 1&#xff09;产品和大…

Linux安装Jdk8

本文以centos7为例&#xff0c;一步一步进行jdk1.8的安装。 1. 下载安装 笑小枫网站下载&#xff1a;https://xiaoxiaofeng.com/resource/16 官网下载链接&#xff1a; https://www.oracle.com/cn/java/technologies/downloads/#java8 上传jdk的压缩包到服务器的/usr/local目…

封装通用mixins,在vue中实现a-table组件的可伸缩列(详细且使用便捷)

1、实现效果 2、使用场景 vue2 antd-vue 1.x版本由于antd-vue 1.x版本的组件库没有提供可伸缩列的功能&#xff0c;才需要我们手动开发在antd-vue 3.x版本以上的表格已经支持这个功能&#xff0c;不需要我们再去手动开发 3、话不多说&#xff0c;上代码 首先安装vue-dragga…

【超详细教程】GPT-SoVITs从零开始训练声音克隆教程(主要以云端AutoDL部署为例)

目录 一、前言 二、GPT-SoVITs使用教程 2.1、Windows一键启动 2.2、AutoDL云端部署 2.3、人声伴奏分离 2.4、语音切割 2.5、打标训练数据 2.6、数据集预处理 2.7、训练音频数据 2.8、推理模型 三、总结 一、前言 近日&#xff0c;RVC变声器的创始人&#xff08;GitH…

网络安全防御保护 Day4

要点一&#xff1a;防火墙的智能选路 就近选路&#xff1a; 在访问不同运营商的服务器时直接通过对应运营商的链路&#xff0c;以此来提高通信效率&#xff0c;避免绕路。 策略路由&#xff08;PBR&#xff09;&#xff1a; 这是一种基于用户定义的策略&#xff08;如业务需求、…

嵌入式中Qt5.7.1添加支持openssl方法

1、openssl编译 版本&#xff1a;openssl-1.0.2g 一定要选对Qt版本对应的openssl版本&#xff0c;由于开始选的openssl版本不对&#xff0c;导致编译Qt时出现很多错误。 交叉编译 ./config no-asm shared --prefix/opt/Xilinx2018_zynq/zynq_openssl_1.0.2/ --cross-compile…

Unity-WebGL

问题&#xff1a;提示gzip压缩报错解决&#xff1a;关闭打包的地方压缩&#xff0c;如下图问题&#xff1a;窗口未全屏解决&#xff1a;使用百分比画布替换固定尺寸画布 参考&#xff1a;新版Unity打包Webgl端进行屏幕自适应_unity webgl分辨率自适应-CSDN博客问题&#xff1a;…

光学3D表面轮廓仪服务超精密抛光技术发展

随着技术的不断进步&#xff0c;精密制造领域对材料表面的处理要求越来越高&#xff0c;超精密抛光技术作为当下表面处理的尖端技术&#xff0c;对各种高精密产品的生产起到了至关重要的作用&#xff0c;已广泛应用于集成电路制造、医疗器械、航空航天、3C电子、汽车、精密模具…

ubuntu gedit主题更改

ubuntu16.04 gedit 编辑器又有首选项如何设置主题 这里下载主题 将主题XML复制到 /usr/share/gtksourceview-3.0/styles 文件夹内&#xff1b; 使用gsettings 命令设置喜欢的配色方案&#xff0c;使用方式如下&#xff1a;(实测不带.xml后缀哦) gsettings set org.gnome.gedi…

【UVM源码】UVM Config_db机制使用总结与源码解析

UVM Config_db机制使用总结与源码解析 UVM Config_db机制介绍UVM Config_db 机制引入的背景基本介绍使用方法优缺点&#xff1a; UVM Config_db机制使用示例&#xff1a;UVM Config_db使用高阶规则Config_db资源优先级 UVM Config_db 源码解析 UVM Config_db机制介绍 UVM Conf…

微信小程序上传时报错message:Error: 系统错误,错误码:80051,source size 2148KB exceed max limit 2MB

问题&#xff1a; 微信小程序上传时错误码&#xff1a;80051,source size 2248KB exceed max limit 2MB 问题原因&#xff1a; 由于代码中的静态资源 图片大小超了200k以及主包的体积超出1.5M 解决办法 分包 tabBar 是主包的&#xff0c;不需要分包处理&#xff0c;以下是分…

gitlib部署及应用

一. 下载源网址 Index of /gitlab-ce/yum/el7/ | 清华大学开源软件镜像站 | Tsinghua Open Source MirrorIndex of /gitlab-ce/yum/el7/ | 清华大学开源软件…

Onvif协议5: 预置位的操作

目录 1. 介绍 2. GetPreset 3. SetPreset 4.预置位的索引 5. GotoPreset 1. 介绍 球机的云台预置位控制主要包含的内容有&#xff1a;预置位的设置、预置位的调用、预置位的删除以及预置位的名称修改等 云台预置位的设置&#xff1a;调用Onvif协议中云台预置位设置接口&a…

【云原生】docker-compose单机容器集群编排工具

目录 一、docker-compose容器编排的简介 二、docker-compose的使用 1、docker-compose的安装 2、docker-compose的配置模板文件yaml文件的编写 &#xff08;1&#xff09;布尔值类型 &#xff08;2&#xff09;字符串类型 &#xff08;3&#xff09;一个key有多个值 &am…

成都直播产业园解析直播供应链金融服务,天府锋巢直播产业基地打造“金融+产业+生态”新型模式

天府锋巢直播产业基地如何打造“金融产业生态”新型模式&#xff1f; 本文将为您全面解析基地提供的成都直播产业园供应链金融服务 锋巢资讯&#xff5e;每周准时报道&#xff5e;&#xff5e; 赶紧下拉&#xff0c;阅读全文 Q:企业入驻园区能获得哪些直播供应链金融服务&…

【gcc】RtpTransportControllerSend学习笔记 5:OnTransportPacketsFeedback及测试程序

【gcc】RtpTransportControllerSend学习笔记 4:码率分配 中阅读了大神的文章,依旧云雾中,因此,反复阅读大神的文章,结合代码,继续。本次是 基于m98的代码。src\modules\congestion_controller\goog_cc\goog_cc_network_control.cc GoogCcNetworkController 是核心类,其处…

基于UDP的套接字通信(附通信代码)

基于UDP的套接字通信 udp是一个面向无连接的&#xff0c;不安全的&#xff0c;报式传输层协议&#xff0c;udp的通信过程默认也是阻塞的。 不需要建立连接 UDP通信过程中&#xff0c;每次都需要指定数据接收端的IP和端口 UDP不对收到的数据进行排序&#xff0c;在UDP报文的…

【vue】defineModel在vue3.4中的最新用法和详解

在2023年12月28日&#xff0c;尤大发布了vue3.4版本&#xff0c;这个版本主要对一些实验性特性的改进&#xff08;比如defineModel&#xff09;&#xff0c;大量重写了模板编译器并重构了响应式系统&#xff0c;可以说是大大提升了运行速度和效率。 之前在vue3.3中defineModel…

erp读书笔记20240129

ERP 计划中的时间概念&#xff0c;包括计划期、时段、时区与时界&#xff0c;以及五种作业时间。 计划期的定义是为了实现对产品全流程的控制&#xff0c;提高计划的预见性&#xff0c;实现供需链计划。时段的划分是为了区别优先级&#xff0c;满足滚动计划的需求。 时区与时界…