提高项目24-删除数组元素

这篇博客探讨了如何在C语言中处理数组元素删除的问题。针对无序数组,解决方案是将不等于目标值的元素按顺序排列,跳过待删除元素。而对于有序数组,需要先找到小于目标值的所有元素,然后同样跳过要删除的元素,用后续元素覆盖它。这两种方法都确保了数组元素的重新排列。
摘要由CSDN通过智能技术生成
任务和代码:del函数的作用是删除数组a中的指定元素x,n为数组a的元素个数。函数的返回值,为删除元素后的有效元素个数(数组中可能有重复元素)。函数的原型为:
int del (int a[10],int n,int x)
(1)请实现这个函数,并完成测试。

(2)如果在函数调用时,要求数组中的元素呈升序排列呢?

/*
文件名:main.c
作者:小风景
完成日期:2016.7.6
问题描述:del函数的作用是删除数组a中的指定元素x,n为数组a的元素个数。函数的返回值,为删除元素后的有效元素个数(数组中可能有重复元素)。函数的原型为:
int del (int a[10],int n,int x)
(1)请实现这个函数,并完成测试。
(2)如果在函数调用时,要求数组中的元素呈升序排列呢?
程序输出:
*/

#include <stdio.h>

int del(int a[],int n,int m);

int main()
{
    int a[20]= {86,76,62,58,77,85,92,80,96,88,77,67,80,68,88,87,64,59,61,76};
    int i, n;
    n = del(a, 20, 77);   //在长度为n的a数组中删除m
    printf("删除后,数组的剩余元素剩余%d个为:\n",n);
    for(i=0; i<n; ++i)
        printf("%d ", a[i]);
    print
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值