/* 
    删除方法:
    如:12  32  56  84  95
    用覆盖的方法
    若删除第三个,则第四个要覆盖第三个,第五个要覆盖第四个
    覆盖完:12  32  84  95  95
    所以要实现删除,还要删除最后一个数字,即不打印,数组元素 - 1
     */

增加方法就简单,因为数组在定义的时候没有定义空间大小,所以可以随意增添。

#include <stdio.h>
#define N 5
int main()
{
//实现数组的删除
/*
删除方法:
如:12 32 56 84 95
用覆盖的方法
若删除第三个,则第四个要覆盖第三个,第五个要覆盖第四个
覆盖完:12 32 84 95 95
所以要实现删除,还要删除最后一个数字,即不打印,数组元素 - 1
*/
double powersNum[] = {2008, 3210, 4651, 8754, 3549}; int i;//循环变量
int j;//冒泡排序中的外循环变量
double delete_prwer;//要删除的数据
int delete_Index = -1;//寻找出来的数组的下标
int count = 5;//表示数组个数
int temp;//临时存储空间
double insertpower;//插入数据
// for(i = 0; i < 5; i++)
// printf("%.lf\t",powersNum[i]);
printf("请输入要删除的Power:");
scanf("%lf", &delete_prwer);
for(i = 0; i < count; i++)
{
if(delete_prwer == powersNum[i])
{
delete_Index = i;//记录找到的数据对应的下标
break;//找到元素后跳出循环,提高效率
}
}
printf("查找次数为:%d\n", i + 1);
if(-1 == delete_Index)
{
printf("很遗憾!没有找到相应的数据!\n");
}
else
{
for(i = delete_Index; i < count - 1 ; i++)
{
powersNum[i] = powersNum[i + 1];
}
count--;
}
printf("删除后的结果为:\n");
for(i = 0; i < count; i++)
{
printf("%.2lf\t", powersNum[i]);
}
printf("\n");
printf("请输入要插入的数据:\n");
scanf("%lf", &insertpower);
powersNum[count] = insertpower;
count++;
//printf("%.2lf\n", powersNum[count]);
printf("输入后的结果为:\n");
for(i = 0; i < count; i++)
{
printf("%.2lf\t", powersNum[i]);
} //冒泡排序 : 87, 5, 45, 23, 96
/*使上述数字由小到大排序
计算机运算过程:
第一轮: 轮数中比较的次数
87 45 23 96 5 4

87 45 96 23 5 3

87 96 45 23 5 2

96 87 45 23 5 1
*/
// i 为 0 为起始数值
//比较轮数 : count - 1
//每轮中比较的次数:count - j - 1
//外层循环控制轮数,内层控制比较次数 for(j = 0; j < count-1; j++)
{
for(i = 0; i < count - j-1; i++)
{
if( powersNum[i] > powersNum[i + 1])
{
temp = powersNum[i];
powersNum[i] = powersNum[i + 1];
powersNum[i + 1] = temp;
}
}
}
printf("\n");
printf("重新排序的结果为:\n"); for(i = 0; i < count; i++)
{
printf("%.2lf\t", powersNum[i]);
} return 0;
}

C语言:实现数组的删除和增加的更多相关文章

  1. 【算法】C语言实现数组的动态分配

    C语言实现数组的动态分配 作者:白宁超 2016年10月27日20:13:13 摘要:数据结构和算法对于编程的意义不言而喻,具有指导意义的.无论从事算法优化方向研究,还是大数据处理,亦或者网站开发AP ...

  2. JavaScript从数组中删除指定值元素的方法

    本文实例讲述了JavaScript从数组中删除指定值元素的方法.分享给大家供大家参考.具体分析如下: 下面的代码使用了两种方式删除数组的元素,第一种定义一个单独的函数,第二种为Array对象定义了一个 ...

  3. 线性表之顺序存储结构(C语言动态数组实现)

    线性表的定义:N个数据元素的有限序列 线性表从存储结构上分为:顺序存储结构(数组)和 链式存储结构(链表) 顺序存储结构:是用一段连续的内存空间存储表中的数据 L=(a1,a2,a3....an) 链 ...

  4. iOS开发-OC语言 (四)数组

    知识点 1.NSArray 2.NSMutableArray 1.数组的基本用法: 2.数组的遍历 3.数组排序 ===========   NSArray  不可变数组  ============= ...

  5. 【C语言】数组知识点总结

    [C语言]数组知识点总结 标签: 数组 2018年04月12日 17:44:4481人阅读 评论(0) 收藏 举报  分类: C语言知识总结(4)  版权声明:本文为博主原创文章,未经博主允许不得转载 ...

  6. go语言学习-数组-切片-map

    数组 go语言中数组的特点: 数组的长度是固定的,并且长度也是数组类型的一部分 是值类型,在赋值或者作为参数传递时,会复制整个数组,而不是指针 定义数组的语法: var arr1 = [5]int{1 ...

  7. java数组遍历 删除remove

    package com.b; import java.util.ArrayList; //数组遍历删除,添加 public class Core2 { private String name; pri ...

  8. 图解微信小程序---实现行的删除和增加操作

    图解微信小程序之实现行的删除和增加操作 代码笔记部分 第一步:在项目的app.json中创建一个新的页面(页面名称英文,可自定义) 第二步:在创建的新页面中编写页面(注意bindtap属性值,因为是我 ...

  9. JavaScript中数组元素删除的七大方法汇总

    原文链接:https://blog.csdn.net/u010323023/article/details/52700770 在JavaScript中,除了Object之外,Array类型恐怕就是最常 ...

  10. C语言一维数组、二维数组、结构体的初始化

    C语言数组的初始化表示方法 一.C语言一维数组初始化: (1)在定义数组时对数组元素赋以初值.如: static int a[10]={0,1,2,3,4,5,6,7,8,9}; 经过上面的定义和初始 ...

随机推荐

  1. #单调栈#CodeChef Meteor

    METEORAK 分析 设 \(dp[l][r]\) 表示第 \(l\) 到 \(r\) 行的答案,可以发现它由 \(f[l][r],dp[l][r+1],dp[l+1][r]\) 转移而来. 关键就 ...

  2. 在ECS上安装部署openGauss数据库指导手册

    在 ECS 上安装部署 openGauss 数据库指导手册 文档下载:在 ECS 上安装部署 openGauss 数据库指导手册.docx 前 言 简介 openGauss 是关系型数据库,采用客户端 ...

  3. HarmonyOS Codelab 优秀样例——溪村小镇(ArkTS)

    一.  介绍 溪村小镇是一款展示溪流背坡村园区风貌的应用,包括园区内的导航功能,小火车行车状态查看,以及各区域的风景展览介绍,主要用于展示HarmonyOS的ArkUI能力和动画效果.具体包括如下功能 ...

  4. Leetcode-栈的压入弹出序列

    /* 输入:pushed = [1,2,3,4,5], popped = [4,5,3,2,1] 输出:true 解释:我们可以按以下顺序执行: push(1), push(2), push(3), ...

  5. Android 开发入门(4)

    0x06 中级控件 (1)图形绘制 a. 图形 Drawable Drawable 类型包括图片.色块.画板.背景 drawable 目录一般保存描述性 XML 文件,具有具体分辨率的 drawabl ...

  6. mysql 重新整理——配置文件[一]

    前言 对mysql 进行从新整理一下,仅做参考,如有任何不对望指出. 正文 mysql 一般分windows和linux,但是他们的运行配置其实是一样的,所以在此不做区分. 直接上一个大体的图: 我个 ...

  7. ActiveMQ c# 系列——进阶实例(三)

    前言 前面介绍了基本的消费者和生产者,那么看下他们之间有什么其他的api. 正文 消费者设置等待时间 生产者生产了5条消息 改一下消费者. static void Main(string[] args ...

  8. EDA(Exploratory Data Analysis)数据探索性分析

    EDA目的:通过了解数据集的分布情况,数据之间的关系,来帮我们更好的后期进行特征工程和建立模型. 本文主要是一个根据coco数据集格式的json文件,来分析数据集中图片尺寸,宽高比,bbox尺寸,宽高 ...

  9. 【Azure Developer】.Net 简单示例 "文字动图显示" Typing to SVG

    问题描述 看见一个有趣的页面,可以把输入的文字信息,直接输出SVG图片,还可以实现动图模式. 示例URL:  https://readme-typing-svg.demolab.com/?font=F ...

  10. WPF开发随笔收录-操作注册表

    一.前言 在windows平台软件开发过程中,注册表的操作是经常会遇到的一个场景.今天记录一下在操作注册表时遇到的一些坑: 二.正文 1.操作注册表,于是直接从网上找了一段代码来用 /// <s ...