C语言删除数组中的元素

项目场景:

C语言删除数组中的元素

代码实现:

#include<stdio.h>
int getNum(int *arr){
    int num=0;
    int i=0,j=0;
    scanf("%d",&num);   //输入要存储的数据个数
    while(scanf("%d",&arr[i])!=EOF){//向数组中依次输入数据
        i++;
        if(i==num){
            break;
        }
    }
    return num; //返回数组长度
}
int deleteNum(int *arr,int arrLength){
    int DelNum=0;
    int i=0,j=0,delnum=0;
    scanf("%d",&DelNum);        //获得要删除数的值
    for(i=0;i<arrLength-delnum;i++){
        if(arr[i] == DelNum){
            for(j= i + 1;j< arrLength ;j++){
                arr[j-1]=arr[j];    //将被删除的数后的元素一一往前覆盖
            }
            delnum++;//被减去的数的数量
            i--; //重置下标重新遍历
        }
    }
    return delnum;
}
int main(){
    int arr[50];
    int len=getNum(arr);
    int delNum=0;
    delNum=deleteNum(arr,len);  //功能执行
    for(int i=0;i<len-delNum;i++){  //输出删除后的数组
        printf("%d ",arr[i]);   
    }
return 0;
}

逻辑分析:

删除数组中的元素,即将被删的数据后的元素依次往前移一位,将被删元素覆盖,
完成删除的功能;同顺序表的删除功能一致;
  • 1
    点赞
  • 0
    评论
  • 1
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

打赏
文章很值,打赏犒劳作者一下
相关推荐
©️2020 CSDN 皮肤主题: 游动-白 设计师:白松林 返回首页

打赏

山山叽

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者