精华内容
下载资源
问答
  • 从数组中删除一个元素c语言代码,希望有用哦!
  • 题目:c语言删除数组中指定的重复的元素

    题目:c语言,删除数组中指定的重复的元素

    #include <stdio.h>
    
    /*
        功能:删除数组中的指定元素
        参数:arr 数组名, len 数组的实际长度, del 要删除的数据
        返回值:成功返回数组的有效长度 失败返回-1
    */  
    int deleteElement(int arr[], int len, int del);
    int main(int argc, char ** argv)
    {
        int arr[10] = {1,2,3,4,4,6,7,8,9,0};
        int del = 0;
        printf("请输入要删除的数据: ");
        scanf("%d", &del);
    
        //删除数组中的指定元素
        int len = deleteElement(arr, 10, del);
        if(-1 == len){
            printf("删除失败\n");
        }else{
            int i = 0;
            for(i = 0; i < len; i++){
                printf("%-5d", arr[i]);
            }
            printf("\n");
        }
        return 0;
    }
    
    /*
        功能:删除数组中的指定元素
        参数:arr 数组名, len 数组的实际长度, del 要删除的数据
        返回值:成功返回数组的有效长度 失败返回-1
    */  
    int deleteElement(int arr[], int len, int del)
    {
        //外层循环寻找要删除的元素
        int i = 0;
        int j = 0;
        int tmp  = len;
        for(i = 0; i < len; i++){
            if(arr[i] == del){      //找到要删除的元素
                //将该元素后边的所有元素前移
                for(j = i; j + 1 < len; j++){
                    arr[j] = arr[j + 1];
                }
                //数组有有效长度-1
                len--;
                //防止重复元素的删除时,位置的后移
                --i;
            }
        }
        if(!(tmp - len)){
            return -1;
        }
        return len;
    }
    展开全文
  • 程序填空程序通过定义学生结构体数组,存储了若干学生的学号、姓名和三门课的成绩。函数fun的功能是将存放学生数据的结构体数组,按照姓名的字典序(从小到大排序)。请在程序的下划线处填入正确的内容并把下划线...

    第一套

    1. 程序填空

    程序通过定义学生结构体数组,存储了若干个学生的学号、姓名和三门课的成绩。函数fun的功能是将存放学生数据的结构体数组,按照姓名的字典序(从小到大排序)。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。

    第一处 struct student t;

    第二处 for(i=0;i

    第三处 if(strcmp(a[i].name,a[j].name)>0)

    2 程序修改

    给定程序MODI1.C中函数fun的功能是:在p所指字符串中找出ASCII码值最大的字符,将其放在第一个位置上;并将该字符前的原字符向上顺序移动。

    /**found**/

    q=p+i;

    /**found**/

    while(q>p)

    3程序设计

    学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写了函数fun,它的功能是:把指定分数范围内的学生数据放在b所指的数组中,分数范围内的学生人数由函数值返回。

    int fun(STREC *a,STREC *b,int l,int h)

    {int i,j=0;

    for(i=0;i

    if((a[i].s>=1&&a[i].s<=h)

    b[j++]=a[i];

    return j;

    }

    第二套

    1. 程序填空

    给定程序中已建立一个带有头结点的单向链表,链表中的各结点按数据域递增有序连接。函数fun的功能是:删除链表中数据域值相同的结点,使之只保留一个。

    第一处 free(q);

    第二处 q=p->next;

    第三处 q=q->next;

    2. 程序修改

    给定程序MODI1.C中函数fun的功能是:用选择法对数组中的n各元素按从小到大的顺序进行排序。

    /**found**/

    p=j;

    /**found**/

    p=i;

    3. 程序设计

    请编写一个fun函数,它的功能是:求出1到m之间(含m)能被7或11整除的所有整数放在数组a中,通过n返回这些数的个数。

    void fun(int m,int *a,int *n)

    {

    int i;

    *n=0;

    for(i=7;i<=m;i++)

    if((i%7==0)||(i%11==0))

    a[(*n)++]=i;

    }

    第三套

    1. 程序填空

    函数fun的功能是:逆置数组元素是的值。例如:若a所指数组中的数据依次为:1、2、3、4、5、6、7、8、9,则逆置后依次为:9、8、7、6、5、4、3、2、1。形参n给出数组中数组中数据的个数。 第一处 for(i=0;i

    第二处 a[i]=a[n-1-i];

    第三处 a[n-i-1]=t;

    2程序修改

    给定程序MODI1.C中函数fun的功能是:将一个由八进制数字字符串组成的字符串转换为与其面值相等的十进制整数。规定输入的字符串最多只能包含5位八进制数字字符。

    /**found**/

    展开全文
  • 数组元素的特定删除在这里插入代码片#include<stdio.h> int main() { int a[15]={1,4,6,9,9,6,19,4,4,8,12,1,9,18,19}; int m,i,n=15; scanf("%d",&m); for(i=0;i<n;i++) { if(m==a[i]) ...

    今天小编博客成长的第二天,再次我献上本人一天的一点小进步
    数组元素的特定删除在这里插入代码片#include<stdio.h>
    int main()
    {
    int a[15]={1,4,6,9,9,6,19,4,4,8,12,1,9,18,19};
    int m,i,n=15;
    scanf("%d",&m);
    for(i=0;i<n;i++)
    {
    if(m==a[i]) //寻找特定元素
    {
    int j;
    int k=0;
    while(a[i+k]==m&&(i+k)<n)
    {
    ++k;
    –n;
    }
    for(j=i;j<n;j++) //覆盖数据—即删除元素
    a[j]=a[j+k];
    }
    }
    printf("%d\n “,n);
    for(i=0;i<n;i++)
    printf(”%d ",a[i]);
    }
    这是一个极好的例子。
    请各位读者指正

    展开全文
  • C语言练习7—数组删除指定位置元素

    万次阅读 多人点赞 2019-05-10 09:07:45
    在一维数组删除指定位置元素,现定义第一个元素位置为1,一维数组元素个数不确定,需要动态输入,并返回删除元素后的数组以及被删除的元素。 例如输入数组个数为n = 4;将要删除的数组元素位置是2; 在这里插入...

    题目
    在一维数组删除指定位置元素,现定义第一个元素位置为1,一维数组元素个数不确定,需要动态输入,并返回删除元素后的数组以及被删除的元素。
    例如输入数组个数为n = 4;将要删除的数组元素位置是2;

    #include <stdio.h>
    #include <string.h>
    #define MAXN 20
    void delete_arr(int *a, int M, int *val, int *n);   /*删除指定位置的元素*/
    int main(void){
        int N, M;             //N是数组个数
        int i;
        int a[MAXN];
        int val;              //val是用来存储被删除的元素
        printf("请输入数组个数:");
        scanf("%d", &N);
        printf("请输入将要删除元素的位置(1-%d):", N);
        scanf("%d", &M);      //M是待删除的元素的位置,第一个元素位置为1;
        if(M < 1 || M > N)
            return 0;
        printf("输入数组%d个元素:", N);
        for(i = 0;i < N; i++){
            scanf("%d", &a[i]);
        }
        delete_arr(a, M, &val, &N);
    
        printf("删除的元素是:%d\n", val);
        printf("输出删除元素后的数组:");
        for(i = 0;i < N; i++){
            printf("%d ", a[i]);
        }
        printf("\n");
        return 0;
    }
    
    void delete_arr(int *a, int M, int *val, int *n){  //M是位置,val是被删除的值,n是数组个数
        *val = a[M - 1];
        for(int i = M; i < *n; i++){
            a[i - 1] = a[i];
        }
        *n = *n - 1;
    }
    

    输出结果如下:
    在这里插入图片描述

    展开全文
  • 5_1 数组的概念注:(1)在定义数组时,数组元素个数(又称数组长度)必须是确定的,即只能是整型常量表达式。(2)完成数组的定义,引用元素时,下标0开始计数。5_2 数组2.1 数组的定义2.2 数组的使用1. ...
  • C语言删除数组指定元素

    万次阅读 2018-01-02 11:18:19
    // 删除长度为len的数组dat索引为idx的元素。 void remove(int *dat, int *len, int idx) {  (*len)--;  if (idx = *len)  return;  for (int i = idx; i   dat[i]
  • 删除数组中指定下标的元素

    千次阅读 热门讨论 2020-03-08 19:12:33
    存在一个数组数组中元素为 int[] array = {1, 3, 5, 7, 9, 11, 13, 15, 17, 19}; 要求: 1. 0是无效元素,仅占位使用 需求: 在当前数组中删除指定下标的元素 例如: 指定下标5 结果 {1, 3, 5, 7, 9, ...
  • c语言删除数组中元素

    千次阅读 多人点赞 2020-11-26 12:23:29
    删除一个元素,相同也可删除 核心思想: 1.找到元素用if语句 2.删除就是用后面的代替该元素(需要删除元素), 用for语句 3.遍历(就是用for循环看一遍数列)就可以找到想要删除元素, 4.注意最后要给末尾换成零...
  • 本篇文章主要介绍了字符数组中删除特定字符的实现方法,有需要的朋友可以参考下
  • #include<stdio.h> void main() { char a[100],b[100],*p1,*p2;...p1++)//'\0'是字符串的结束符号,这里代表循环到最后元素 { if((*p1)%2==0)//无余数则为偶数,进行赋值到b数组 *p2++...
  • 删除数组中指定元素

    千次阅读 2020-05-20 17:17:53
    文章目录删除数组中指定元素一、记录等于x的元素个数二、记录不等于x的元素个数三、划分 删除数组中指定元素 删除数组中的某一元素会导致改位置空缺,需要将后面的依次往前移动。如果每删除一个元素就移动一次,...
  • C语言 数组中删除指定字符

    千次阅读 2018-06-24 23:59:49
    /*=================================*/ 直接在本数组删除/*=================================*/#include&lt;stdio.h&gt;int main(){int i=0,j=0;char a[20],b; b='c'; gets(a); while(a[i]!='\0') ...
  • C语言 删除数组 某个元素

    万次阅读 多人点赞 2017-08-08 10:24:48
    方法1:  /*   name: c语言 删除数组的某个... 数组增删操作在c语言中没有相应的函数------我们最好是 自己写函数保存好   注意代码缩进,对齐  */ #include int main() { //删 int arr[]={1,3,10,5,4,} ;
  • 数组中指定位置插入任意一个元素 思路 通过后移鼠标指针完成对数组的加长以及对目标位置之后的值完成复制和移动,腾出目标位置的空间来存放需要插入的值 int main() { int a[10] = { 1,2,3,4,5 }; int x, pos = ...
  • 题目:将整形数组中数字相同的数字只保留一个,其他的都删除,已知数组元素已经按从小到大的顺序排列。 例如[2,2,2,3,3,4,5,5,6,6,7],处理完成之后的数字应该为[2,3,4,5,6,7],函数的返回值为新数组的长度。 题目很...
  • 给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。 示例 1: 给...
  • C语言作业:如何删除数组中元素

    千次阅读 2020-05-13 13:26:57
    删除数组中一个数字,然后输出该数组,比 如原数列为1,3,5,7, 9, 11。输入7, 然 后输出数列为1,3, 5,9, 11 #include"stdio.h" int main() { int a[100],n,x,i; printf("请输入数组所含元素的个数:"); ...
  • 已知一个二维整型数组已初始化a[5][5]={{1,2,3,4,5},{2,3,4,5,6},{3,4,5,6,7},{0,1,2,3,4},{6,7,8,9,0}},请删除数组中所有等于指定值的元素删除后,各元素依次前移。 请注意,C语言二维数组的行优先方式存储。...
  • 在主函数定义数组int array[10],自定义以下函数:输入数组元素,输出数组元素、求数组元素平均值、输出数组元素最大值、输出数组元素最小值、查找某数值元素是否存在(若存在,请输出下标)、给数组元素排序...
  • c语言删除有序数组中一个

    千次阅读 2014-08-16 14:38:08
    //使用随机数向数组中添加元素 for (i=0; i; i++) { a[i]=rand()%100; printf("%d ",a[i]); } printf("\n"); //排序 for (j=0; j;j++) { for(i=0;i;i++) { if(a[i]>a[i+1]) { tmp=a[i]; a[i]=a[i+1...
  • 除了首元素之外,集合的每个元素都只有一个直接前驱 除了尾元素之外,集合的每个元素都只有一个直接后继 数组的特点: 地址是连续的 有一定的顺序 可以存放相同类型的数据 因此可以用数组来实现线性表,...
  • C语言中动态分配数组

    万次阅读 多人点赞 2018-06-21 12:57:42
    很多人在编写C语言代码的时候很少使用动态数组,不管什么情况下通通使用静态数组的方法来解决,在当初学习C语言的时候我就是一个典型的例子,但是现在发现这是一个相当不好的习惯,甚至可能导致编写的程序出现一些...
  •  大概上可以这样定义: 加入所有的节点可以用条直线连接起来. 就是线性结构... 2. 线性机构也可以分成两种:  1) 连续存储 (数组)  也就是指每1节点在物理内存上是相连的.  2) 离散存
  • C语言删除字符数组中指定的字符 程序功能:用户输入组字符串和输入要删除的字符,最后输出删除后的结果。 是通过数组元素的移动进行删除字符 代码实现 #include <stdio.h> #include<stdlib.h> int ...
  • 详解C语言中Char型指针数组与字符数组的区别详解C语言中Char型指针数组与字符数组的区别1.char 类型的指针数组:每个元素都指向一个字符串,指向可以改变char *name[3] = {"abc","def","gbk"};for(int i = 0 ; i < ...
  • 二维数组删除一个元素的方法

    千次阅读 2018-11-29 10:57:01
    * 数组删除一个元素方法 * @param arr 传入一个double类型的数组 * @return */ public static double[] arrayDelete2(double[] arr){ double[] array = new double[arr.length-1]; //参数1:被处理的数组 源...
  • 删除数组指定元素

    2013-11-14 11:56:09
    这样既能将第二个元素数组的形式赋值给$b,又能将其本身删除,默认情况下还能对剩下的数组进行重新排序。 array_splice还有一个参数是让控制$a剩下的数组是否进行重新排序。 其结果为 $b = ar

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 33,811
精华内容 13,524
关键字:

从数组中删除一个指定元素c语言

c语言 订阅