写在前面:这里是小王成长日志,一名在校大学生,想在学习之余将自己的学习笔记分享出来,记录自己的成长轨迹,帮助可能需要的人。欢迎关注与留言。

题目:

题目链接:https://www.dotcpp.com/oj/problem1479.html

题目 1479: [蓝桥杯][算法提高VIP]删除数组中的0元素

时间限制: 1Sec 内存限制: 128MB 提交: 1463 解决: 922

题目描述
编写函数CompactIntegers,删除数组中所有值为0的元素,其后元素向数组首端移动。注意,CompactIntegers函数需要接收数组及其元素个数作为参数,函数返回值应为删除操作执行后数组的新元素个数。
输入时首先读入数组长度,再依次读入每个元素。
将调用此函数后得到的数组和函数返回值输出。
输入
第一行一个数,表示数组个数

第二行为每个数字,空格分开

输出
输出处理后的数字以及个数,各占一行

样例输入
7
2 0 4 3 0 0 5
样例输出
2 4 3 5
4

C语言解法

#include <stdio.h>
int n;int main(void)
{scanf("%d", &n);int a[n];for (int i = 0; i < n; i++)scanf("%d", &a[i]);int len = CompactIntegers(a, n);for (int i = 0; i < len; i++)printf("%d ", a[i]);printf("\n%d", len);return 0;
}int judge(int *a, int i)
{if (i == n - 1 && *(a + i) == 0)return -1;else if (*(a + i) == 0)judge(a, i + 1);elsereturn i;
}int CompactIntegers(int *a, int len)
{int tempin, temp, newlen = 0;for (int i = 0; i < len; i++)if (a[i] == 0){tempin = judge(a, i);newlen=i;if (tempin == -1)break;temp = a[i];a[i] = a[tempin];a[tempin] = temp;}return newlen;
}

都看到这里了,各位哥哥姐姐叔叔阿姨给小王点个赞 关个注 留个言吧,和小王一起成长吧,你们的关注是对我最大的支持。
有事没事进来看看吧 : 小王的博客目录索引
C语言专栏看这 : C语言学习专栏


如果以上内容有任何不准确或遗漏之处,或者你有更好的意见,就在下面留个言让我知道吧-我会尽我所能来回答。

C语言删除数组中的0元素相关推荐

  1. C语言 删除数组中重复的元素

    删除数组中重复的元素 举个栗子,输入整数n,然后输入n个整数.直接上代码 #include<stdio.h> int main(void) {int i,n,a[100];int j, t ...

  2. 蓝桥杯 ADV-119 算法提高 6-9删除数组中的0元素

    编写函数CompactIntegers,删除数组中所有值为0的元素,其后元素向数组首端移动.注意,CompactIntegers函数需要接收数组及其元素个数作为参数,函数返回值应为删除操作执行后数组的 ...

  3. C语言 - 删除数组中的指定元素(Delete)

    目录 引言: 题目说明: 举例分析: 初始状态: step 1: Step 2: Step 3 : Step 4 :  将最后一个元素赋值为0 Step 5 :将i下标向前迁移一位(重复判断): 代码 ...

  4. 删除数组中的 0 元素

    问题描述: 删除数组中值为 0 的所有元素,其他元素向前移动. 输入格式: 第一行一个整数表示数组个数 n ,第二行 n 个数据,表示数组元素. 输出格式: 第一行 m 个数组元素,第二行一个整数表示 ...

  5. c\c++语言删除数组中重复元素

    c\c++语言删除数组中重复元素 如题:num[]={1,2,3,3,4,5,6} 输出为:123456 下为原代码: #include "stdafx.h" #include & ...

  6. php js动态删除数组元素,javascript如何删除数组中的指定元素

    js删除数组中的指定元素主要分为两步,首先判断数组中是否包含这个元素,然后再通过splice()方法来删除指定元素 本篇文章主要介绍的是如何通过javascript语言对数组中的指定元素进行删除的方法 ...

  7. 从Ruby中删除数组中的重复元素

    本文翻译自:Remove duplicate elements from array in Ruby I have a Ruby array which contains duplicate elem ...

  8. 如何删除数组中的某个元素(C/Python/Java/Go/MATLAB)

    文章目录 前言 一.C.Python.Java.Go.Matlab语言优势对比 二.如何删除数组中的某个元素,在各语言中的实现 1.C语言 2.Python 3.Java 4.Go语言 5.MATLA ...

  9. php删除数组中的空元素_PHP | 从数组中删除所有出现的元素

    php删除数组中的空元素 Given an array and we have to remove all occurrences of an element from it. 给定一个数组,我们必须 ...

最新文章

  1. 利用ESP32驱动控制步进电机驱动器:MS2806
  2. ElasticSearch优化系列一:集群节点规划
  3. Golang sync
  4. 也许是史上最不良心的低阶计算几何讲解和习题集??
  5. 【GPS信号】GPS信号的读取以及kalman滤波预测
  6. Reference, List, and Completion of javascript
  7. 【每日SQL打卡】​​​​​​​​​​​​​​​DAY 10丨换座位【难度中等】
  8. TCP TIME_WAIT 详解
  9. nginx中配置angular项目_强大,Nginx配置一键生成
  10. 公益图书馆-学习笔记五-jquery来动态设置div高度
  11. 68.营救问题(广搜)
  12. 旋转成分矩阵结果分析_30分钟学会PCA主成分分析
  13. 通过 PXE 自动安装操作系统:部署 PXE Server
  14. 杭州电子科技大学考研经验贴
  15. Linux下安装Scala
  16. win10cmd重置系统_命令提示符修复系统win10 系统还原
  17. 【CPLEX教程01】Cplex介绍,下载和安装Cplex
  18. 2022-2028年全球与中国基于汽车摄像头的ADAS行业深度分析
  19. JAVA中解析XML和书写XML
  20. Jmeter查看QPS和响应时间随着时间的变化曲线

热门文章

  1. python生成指数分布随机数_Nim 语言入门之实现指数分布的随机数
  2. TOP3连连国际荣登《2022跨境支付机构榜TOP20》榜单
  3. AJAX技术学习总结
  4. 2017年最新停车场补贴政策【汇总】
  5. vue模板语法(下)
  6. .Net Framework 4.7.2 离线包下载及安装时出现“无法建立到信任根颁发机构的证书链“ 问题
  7. java使用switch编月份和舱位_3.if结构
  8. [附源码]计算机毕业设计贵港高铁站志愿者服务平台Springboot程序
  9. BZOJ5104 Fib数列 二次剩余、BSGS
  10. 区块链项目调研--Neo