yhkn.net
当前位置:首页 >> C #在数组中删除元素 >>

C #在数组中删除元素

del函数的作用是删除数组a中的指定元素x,n为数组a的元素个数.函数的返回值,为删除元素后的有效元素个数(数组中可能有重复元素).函数的原型为:int del (int a[10],int n,int x) (1)请实现这个函数,并完成测试.[参考解答] [cpp] view plain

直接把元素后一位覆盖前一位就行了 最后把数组最后一位清空即可

#include "stdio.h" int main() { int a[10],x;//x是要删除数组元素的下标 int i; for(i=0;i<10;i++) scanf("%d",&a[i]); //输入10个数据放在数组中 for(i=0;i<10;i++) printf("%d ",a[i]); printf("请输入要删除元素的下标值:\n"); scanf("%d",&x); //输入要删除的数组元素的下标 for(i=x;i<10;i++) a[i]=a[i+1]; for(i=0;i<9;i++) //因为删除了一个元素,所以有9个元素 printf("%d ",a[i]); }

方法:删除就是将其下标所在位置的中的内容置为空(也就是0),然后从此位置开始,后面的内容前移,再把最后那个位置的置为空(就是0).前移无非就是 类似 arr[ i - 1] = arr[ i ] 这个意思.当可以确认数组中存放的都是整数,你可以将这个

#include <stdio.h>#define ARR_SIZE 5 int Delete(int *a, int n, int x); void main() { int a[ARR_SIZE-1], x, i, n; printf("Please enter array numbers:\n"); scanf("%d", &n); printf("Please enter array:\n"); for (i=0; i<n; i++) { scanf("%d", &a[i]); }

一般的数组元素无法删除,只能将值改变为另一个特定的值,然后发现这个值就直接转向下一个元素. 用链表可以删除表中的一个结点.

/*我写了两种方法!!!方法一*/#include int main() { int a[10]={1,3,3,2,5,1,1,5,6,6}; int i,j,k,x=10;/*x为数组中无重复有效元素的个数*/ for(i=0;i { for(j=i+1;j { if(a[i]==a[j]) { x--;//发现重复时减1 for(k=j;k { a[k]=a[k+1]; } j--; } } } for(i=0;i printf("\n"); return

一个for loop来一个个调 里面加一个for loop用当前的和前面的一个个比~~一样就删掉~~然后n--;

学学用vector吧 创建个CHAR类型的vector 然后把数据放里就行 删除某一项的话直接删 然后vector就帮你做调整了

C语言删除数组指定元素的源代码如下:#include <stdio.h>main(){char s[80],c;int j,k;printf("\nEnter a string: ");gets(s);printf("\nEnter a character: ");c=getchar( );for(j=k=0;s[j]!= '\0';j++)if(s[j]!=c)s[k++]=s[j];s[k]= '\0';printf("\n%s\n",s);system("

hbqpy.net | qwrx.net | 5689.net | 90858.net | wnlt.net | 网站首页 | 网站地图
All rights reserved Powered by www.yhkn.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com