C语言小程序之数组删除元素?

图片发自简书App

交流群看到的题目, 个人感觉就是应试题, 做出来很简单, 但是题目有毛病。

如果固定的int arr[10], 即使不对a[9]初始化值, 但a[9]还是存在值的。
将a[5], a[6], a[7]数据前移, a[7], a[8], a[9]还是有值的, 感觉谈不上什么删除。。。

本来想说: 这种题目不讨论(ʘ̆㉨ʘ̆), 但感觉可能我太过激了。。。

那就来实现一下吧


#include <stdio.h>

int main()
{
    // 定义数值
    int insertNum = 15;
    int deleteNum = 31;
    
    // 没用到的初始为-1
    int arr[10]={3, 7, 10, 23, 31, 42, 56, 67, -1, -1};
    
    // 插入数字
    for(int i=9; i>-1; i--)
    {
        if(arr[i]!=-1)
        if(arr[i]>insertNum)
        {
            arr[i+1] = arr[i];
            arr[i] = insertNum;
        }
    }
    
    // 删除数字
    for(int i=0; i<10; i++)
    {
        if(arr[i]>deleteNum)
        {
            arr[i-1]=arr[i];
            arr[i] = -1;
        }
    }
}

我的博客: 蟋蟀程序员

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。