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)
上一篇 2022年8月11日 下午6:00
下一篇 2022年8月11日 下午6:00


相关推荐

  • 最详细的quartz表达式解释

    最详细的quartz表达式解释3 1Cron 表达式包括以下 7 个字段 秒分小时月内日期月周内日期年 可选 3 2 特殊字符 0 4 表示增量值 例如 在秒字段中 5 15 代表从第 5 秒开始 每 15 秒一次 L 只有在月内日期和周内日期字段中可用 表示这个字段不包含具体值 所以 如果指定月内日期 可以在周内日期字段

    2026年3月18日
    2
  • 大数据处理的基本流程是什么?[通俗易懂]

    写在前面本文隶属于专栏《100个问题搞定大数据理论体系》,该专栏为笔者原创,引用请注明来源,不足和错误之处请在评论区帮忙指出,谢谢!本专栏目录结构和文献引用请见100个问题搞定大数据理论体系解答大数据处理流程主要分为3步:1.数据抽取和集成2.数据分析3.数据解释补充1.数据抽取与集成由于大数据处理的数据来源类型丰富,利用多个数据库来接收来自客户端的数据,包括企业内部数据库、互联网数据和物联网数据,所以需要从数据中提取关系和实体,经过关联和聚合等操作,按照统一定义的格式对数据

    2022年4月9日
    81
  • redis 乐观锁_什么时候用乐观锁

    redis 乐观锁_什么时候用乐观锁文章目录GeospatialHyperloglogBitmapsRedis事务悲观锁和乐观锁JedisSpringboot继承RedisGeospatial存储地理位置的数据结构应用场景朋友的定位,附近的人,打车距离计算Geospatial底层使用的是Zset127.0.0.1:6379> geoadd city 116.23 40.22 beijing 添加一个数据127.0.0.1:6379> geoadd city 121.47 31.23 shanghai 118.77

    2022年8月9日
    6
  • 难倒刘强东的奥数题,京东智能供应链解开了

    难倒刘强东的奥数题,京东智能供应链解开了原创:谭婧刘强东有几个问题,需要你帮忙做个决策:(一)到货快,花钱爽,建议商品离消费者越近越好。除了京东超级大仓库亚洲一号之外,得增加仓库数量,扩大仓库网络。而仓库又分一二三四好几级,一…

    2022年5月18日
    46
  • linux(4)Linux 文件内容查看「建议收藏」

    linux(4)Linux 文件内容查看「建议收藏」查看文件内容总览cat由第一行开始显示文件内容tac从最后一行开始显示,可以看出tac是cat的倒着写!nl显示的时候,顺道输出行号!more一页一页的显示文件内容less

    2022年7月31日
    8
  • Git 提交代码步骤

    Git 提交代码步骤第一步 提交代码第一步 gitstatus 查看当前状态当你忘记修改了哪些文件的时候可以使用 gitstatus 来查看当前状态 红色的字体显示的就是你修改的文件 第二步 提交代码第二步 gitadd 或者 gitaddxxx 如图 1 如果你 gitstatus 查看了当前状态发现都是你修改过的文件 都要提交 那么你可以直接使用 gitadd

    2026年3月26日
    2

发表回复

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

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