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;
}

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

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • kworkers_work为什么名词

    kworkers_work为什么名词1.简介:    在spi驱动中用到了内核的线程,用的函数就是跟kthread_worker和kthread_work相关的函数,对于这两个名词的翻译,在网上暂时没有找到合适的,先翻译成线程内核线程相关的:工人和工作,这么直白的翻译是根据其工作原理相关的,本来想翻译成别的,一想到他的实现方式,直白的翻译,更能让人理解。    此部分介绍的函数主要在inc

  • following的用法的解析_could not be registered

    following的用法的解析_could not be registered将Ubuntu的源修改为国内源:https://blog.csdn.net/zhuiqiuzhuoyue583/article/details/88777483将Ubuntu的源修改为国内源的之后,执行sudoapt-getupdate出现问题:GPGerror:Thefollowingsignaturescouldn’tbeverifiedbecause…

    2022年10月13日
  • 如何使vmware虚拟机中的Redflag Linux操作系统能够上网?

    如何使vmware虚拟机中的Redflag Linux操作系统能够上网? 第一种情况:主机使用PPPOE拨号上网方法一:NAT方式1、先关闭虚拟机中的操作系统,回到虚拟机主界面双击主界面右上方的的“Ethernet”,弹出“NetworkAdapter”对话框,选择“NAT”2、启动虚拟机操作系统,设置IP为动态获取,即通过DHCP获得。此时虚拟机中的操作系统用的是主机的IP,主机能够上网,那么虚拟机也能。方法二:Host-only方式1

  • mac录屏工具_mac屏幕录制设置

    mac录屏工具_mac屏幕录制设置最近打算录制一些软件教程进行视频分享,所以找了很多如何在MAC上录制屏幕的相关文章。没想到MAC系统有自带的屏幕录像功能,而且非常简单好用!除此之外,还有几款比较专业的第三方录屏软件,在这里都一并分享,大家可以自行选择。(文中所附链接皆需复制到浏览器中打开)方法一:在macOSMojave中使用自带工具如果你的Mac系统和我一样是macOSMojave,可以直接快捷键Shif…

  • fec基础_普通独立基础

    fec基础_普通独立基础 昨天休息了一下,思考一下可以研究的点,觉得这个fec还可以,就找了一点资料研究一下。 先跑点题,闲扯一会。在找资料的过程中,能找到的资料就很少,就有点感叹。科研为什么弱呢?可以看下90年代的论文,那水平略等于今天的一篇博客。这是积贫积弱到现在。 [1]中有段代码,求解伽罗华域的生成空间的。举的例子是GF(256),使用的本原多项式P(x)=x8+x5+x3+x2+1P(x)=x^8+x^5…

  • 地理加权回归模型_arcgis栅格数据归一化0到1

    地理加权回归模型_arcgis栅格数据归一化0到1(再次接近6000字,诚意满满啊)从这一章开始进入实际操作环节……首先还是用ArcGIS,毕竟这个东西比较容易。实际上要说起来,GWR有专门的软件,叫做GWR,但是这个软件暂时我还没有用过,所以等我先学习一下,把他放到最后才说了,先用比较熟悉的,比如ArcGIS、比如R语言,这些来讲讲(还有一个我非常熟悉的软件是GEODA,可惜GEODA仅支持回归分析,不支持地理加权回归)。

发表回复

您的电子邮箱地址不会被公开。

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