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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 远程连接mysql8,报错10061 解决办法「建议收藏」

    远程连接mysql8,报错10061 解决办法「建议收藏」mysql8.0的1,检查服务器mysql服务是否启动100612,mysql必须设置密码,不然报错10061usemysql;updateusersetauthentication_string=””whereuser=“root”;flushprivileges;ALTERUSER‘root’@’%’IDENTIFIEDWITHmysql_native_passwordBY‘密码’;3,selectHost,Userfromuser;查看roo

    2022年10月13日
    0
  • 查看mysql日志命令_linux查看mysql安装路径

    查看mysql日志命令_linux查看mysql安装路径centos是linux吗_网站服务器运行维护centos是一个基于RedHatLinux提供的可自由使用源代码的企业级Linux发行版本,它是来自于RedHatEnterpriseLinux依照开放源代码规定释出的源代码所编译而成。Linux中MySQL日志在哪Linux中MySQL日志一般保存在/var/log/目录下,但还需要看具体的配置文件才能确定,具体方法如下:1、首先登陆…

    2022年10月14日
    0
  • Linux配置静态IP地址

    Linux配置静态IP地址Linux配置静态IP地址

    2022年4月22日
    40
  • 数据库:SQLServer 实现行转列、列转行用法笔记

    数据库:SQLServer 实现行转列、列转行用法笔记

    2020年11月14日
    324
  • “永恒之蓝”病毒防护[通俗易懂]

    “永恒之蓝”病毒防护[通俗易懂]“永恒之蓝”勒索蠕虫涉及多个Windows系统服务的远程执行命令,恶意代码会扫描开放的445文件共享端口!只要开机的情况下,无需用户任何操作,就能控制你的电脑!SMB服务进行网络攻击的蠕虫病毒,简单的说就是:你局域网内如果有一台机器中了这个病毒,它会向整个网络传播,这个是非常可怕的!现在著名的勒索病毒和挖矿病毒都是利用这个漏洞进行传播,中了勒索病毒,就是交钱数据也回不来。不能全指望杀毒软…

    2022年10月16日
    0
  • 黑客入门,从HTB开始

    黑客入门,从HTB开始Hackthebox是国外的一个靶机平台,里面的靶机包含多种系统类型,并且里面可以利用的漏洞类型多种多样,有很多靶机其实非常贴近实战情景。因此HTB是一个很好的学习渗透测试靶场。之前在HTB也玩过一些机器。里面的机器难度有好几个档次,insane难度的一般都是极其困难的,这种机器一般让我对着大神的Writeup我可能都没有办法复现出来。之前也有在公众号上分享过几篇H…

    2022年4月26日
    49

发表回复

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

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