C语言练习7—一维数组删除指定位置元素

C语言练习7—一维数组删除指定位置元素题目在一维数组删除指定位置元素,现定义第一个元素位置为1,一维数组元素个数不确定,需要动态输入,并返回删除元素后的数组以及被删除的元素。例如输入数组个数为n=4;将要删除的数组元素位置是2;在这里插入代码片…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

题目
在一维数组删除指定位置元素,现定义第一个元素位置为1,一维数组元素个数不确定,需要动态输入,并返回删除元素后的数组以及被删除的元素。
例如输入数组个数为n = 4;将要删除的数组元素位置是2;

#include <stdio.h>
#include <string.h>
#define MAXN 20
void delete_arr(int *a, int M, int *val, int *n);   /*删除指定位置的元素*/
int main(void){ 
   
    int N, M;             //N是数组个数
    int i;
    int a[MAXN];
    int val;              //val是用来存储被删除的元素
    printf("请输入数组个数:");
    scanf("%d", &N);
    printf("请输入将要删除元素的位置(1-%d):", N);
    scanf("%d", &M);      //M是待删除的元素的位置,第一个元素位置为1;
    if(M < 1 || M > N)
        return 0;
    printf("输入数组%d个元素:", N);
    for(i = 0;i < N; i++){ 
   
        scanf("%d", &a[i]);
    }
    delete_arr(a, M, &val, &N);

    printf("删除的元素是:%d\n", val);
    printf("输出删除元素后的数组:");
    for(i = 0;i < N; i++){ 
   
        printf("%d ", a[i]);
    }
    printf("\n");
    return 0;
}

void delete_arr(int *a, int M, int *val, int *n){ 
     //M是位置,val是被删除的值,n是数组个数
    *val = a[M - 1];
    for(int i = M; i < *n; i++){ 
   
        a[i - 1] = a[i];
    }
    *n = *n - 1;
}

输出结果如下:
在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/169494.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Qml异步加载图片「建议收藏」

    Qml异步加载图片「建议收藏」当图片很大时,加载图片可能导致UI线程的阻塞,为了确保图片在加载过程中不会阻塞UI线程,将Image元素的’asynchronous’设置为trueImage{asynchronous:truesource:"test.png"}…

    2025年8月8日
    4
  • 华为LLDP协议

    华为LLDP协议LLDP(LLDP,LinkLayerDiscoveryProtocol,链路层发现协议)是IEEE802.1AB中定义的第二层发现协议,可以使得不同厂商设备之间的企业或运营商通过该功能可以清楚的了解整个网络的拓扑结构[SW1]displaylldpneighborError:GlobalLLDPisnotenabled.//默认没有开启LLDP协议[R1]lldpenable//开启LLDP协议Info:GlobalLLDPisenabledsuccessfu

    2022年6月2日
    77
  • android之回调函数的用法和意义

    CallBack是回调的意思,一般称之为回调函数百科的解释:http://baike.baidu.com/link?url=8yMUwVEFRzxR4JGMxVN_UnFgJIH4WTnsybuW5NfwgKqVKP8NtShfJnNNeY9mBzRT用一个比较形象的例子:你饿了,想吃饭,就一会去问你妈一声”开饭没有啊?”这就是正常函数调用.但是今天你妈包饺子,花的时间比较长,

    2022年3月10日
    45
  • 范围管理论文_论管理的职能论文

    范围管理论文_论管理的职能论文摘要:  2015年1月,本人参与了xx省图书馆RFID(无线射频识别技术)信息管理系统的项目建设,担任项目经理一职。该项目投资860万元人民币,建设工期为1年,系统通过无线射频识别技术,极大地提高图书馆的工作效率,全面提高了图书馆的服务质量和整体形象。本系统内容主要包括:图书管理子系统、图书自助借还子系统、RFID信息管理子系统等,是一个大项目。该项目作为省内建设重点工程之一,受到省市及有

    2022年9月22日
    3
  • 关系数据库系统与面向对象数据库系统各自的优缺点

    关系数据库系统与面向对象数据库系统各自的优缺点关系数据库系统的优点 a 灵活性和建库的简单性 从软件开发的前景来看 用户与关系数据库编程之间的接口是灵活与友好的 目前在多数 RDDMS 产品中使用标准查询语言 SQL 允许用户几乎毫无差别地从一个产品到另一个产品存取信息 与关系数据库接口的应用软件具有相似的程序访问机制 提供大量标准的数据存取方法 b 结构简单 从数据建模的前景看 关系数据库具有相当简单的结构 元组 可为用户或程序

    2025年11月13日
    3
  • vue关闭eslint检查_vue 校验规则 提取

    vue关闭eslint检查_vue 校验规则 提取在创建项目时,手贱点击了yes。那么怎样关闭Eslint验证呢?1.打开build\webpack.base.conf.js2.找到如下代码,并ctrl点击红框框起的代码3.修改useEslint:true,为false4.最后,在修改完配置文件之后,在终端输入nmprundev。这一点非常重要,我就是没有漏了这步操作,弄了很久。…

    2022年10月8日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号