/* 
    删除方法:
    如: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. 新前言with留言板

    旧博客也是会用的,但是现在只用博客园写博客,平时csdn的东西也会凑凑热闹 欢迎各位julao来留言板留言 /* ID:lemondi1 LANG:C++ TASK:test */ #include ...

  2. #SG函数,记忆化搜索#HDU 4111 Alice and Bob

    题目 Alice和Bob两个好朋友又开始玩取石子了. 游戏开始时,有\(n\)堆石子排成一排,然后他们轮流操作(Alice先手),每次操作时从下面的规则中任选一个: ·从某堆石子中取走一个 ·合并任意 ...

  3. 从模型到部署,教你如何用Python构建机器学习API服务

    本文分享自华为云社区<Python构建机器学习API服务从模型到部署的完整指南>,作者: 柠檬味拥抱. 在当今数据驱动的世界中,机器学习模型在解决各种问题中扮演着重要角色.然而,将这些模型 ...

  4. Java 内存分析(程序实例),学会分析内存,走遍天下都不怕!!!

    相信大多数的java初学者都会有这种经历:碰到一段代码的时候,不知该从何下手分析,不知道这段代码到底是怎么运行最后得到结果的..... 等等吧,很多让人头疼的问题,作为一名合格的程序员呢,遇到问题一定 ...

  5. Unity-PC 端调用SpVoice语音 (文字转语音)

    第一步引用文件 在VS当中 点击项目->添加引用-> 搜索Microsoft Speech Objecet Library 然后选中前面的白色方块点击确定就行了 插入之后 你的引用库中会多 ...

  6. 使用Elasticsearch做手机号和身份证号的模糊检索

    使用Elasticsearch做手机号和身份证号的模糊检索 背景 客户想通过人名 四位数值 来检索人的信息 例如 张三 3421,例如需要检索包含张三和且手机号或者身份证里包含3421的数据 过程 e ...

  7. MMDeploy部署实战系列【第六章】:将编译好的MMdeploy导入到自己的项目中 (C++)

    MMDeploy部署实战系列[第六章]:将编译好的MMdeploy导入到自己的项目中 (C++) 这个系列是一个随笔,是我走过的一些路,有些地方可能不太完善.如果有那个地方没看懂,评论区问就可以,我给 ...

  8. 基于Material Design风格开源、易用、强大的WPF UI控件库

    前言 今天大姚给大家分享一款基于Material Design风格开源.免费(MIT License).易于使用.强大的WPF UI控件库:MaterialDesignInXamlToolkit. 项 ...

  9. 【笔记】go语言--(Slice)切片的概念

    go--(Slice)切片的概念 //切片是什么,定义一个arr,定义一个s为arr中的2到6,这个s就是一个切片 arr := [...]int{0,1,2,3,4,5,6,7} s := arr[ ...

  10. 力扣852(java&python)-山脉数组的峰顶索引(中等)

    题目: 符合下列属性的数组 arr 称为 山脉数组 : arr.length >= 3 存在 i(0 < i < arr.length - 1)使得: arr[0] < arr ...