当前位置:首页 » 编程语言 » c语言数组去掉
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言数组去掉

发布时间: 2022-09-05 01:00:38

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

C语言删除数组指定元素的源代码如下:

#include <stdio.h>

main()

{

char s[80],c;

int j,k;

printf(" Enter a string: ");

gets(s);

printf(" Enter a character: ");

c=getchar( );

for(j=k=0;s[j]!= '';j++)

if(s[j]!=c)

s[k++]=s[j];

s[k]= '';

printf(" %s ",s);

system("pause");

}

(1)c语言数组去掉扩展阅读

自定义函数代码如下

function delarrayval2($arr,$v){

$keyarr = array_keys($arr, $v);

if(count($keyarr)){

foreach ($keyarr as $key) {

unset($arr[$key]);

}

}

return $arr;

}

Ⅱ C语言问题 把一个数组中的重复元素去掉

1、首先,点击桌面上的VC++6.0,打开软件。

Ⅲ C语言数组删除

#include<stdio.h>

int main()

{ int i,i1,j,k,n,a[101];

scanf("%d",&n);

for(i=1; i<=n; i++)

{ a[i]=i;

printf("%3d",a[i]);

}

printf(" ");

i=1,k=n;

for(i1=0; i1<n/2; i1++)

{ a[i++]=a[k--]=0;

for(j=1; j<=n; j++)

printf("%3d",a[j]);

printf(" ");

}

return 0;

}

Ⅳ c语言如何删除数组中的某个元素

C语言中已经有一个数组名为a,其中已有n=100个元素。现在要删除它的下标为k的元素(0<=k<100)。可以使用如下的代码:
for(i=k;i<100-1;i++)
a[i]=a[i+1];
n--; //已经删除完成
for(i=0;i<n;i++) //输出检查
printf("%d ",a[i]);

Ⅳ C语言,删除数组元素

void main()
{
int i,j,n;
int a[10];
int k=0; //记录删除数据的个数
printf("请输入需要删除的数:\n");
scanf("%d",&n);
printf("请输入10个元素的数组: \n");
for (i=0;i<10;i++)
scanf("%d",&a[i]);
for (i=0;i<10;i++)
if (a[i]==n)
{
for (j=0;i+j<9;j++)
a[i+j]=a[i+j+1];
k++;//删除数据的个数加1
a[10-k] = 0; //清除最后一个已经前移过的数据
}

for (i=0;i<10-k;i++)//输出剩余的数据,后面的数据为0代表已经被删除的无意义数据,不必再输出了。
printf("%5d",a[i]);
}

Ⅵ c语言 去掉数组中重复的元素····求帮助

说的不是很清楚,数组定义的时候就删除?看来你对数组的操作还不是很清楚,应该是在数据写入数组的时候将其删除吧。你可以这样,如果数组不大,在写入数据的时候先遍历一遍数组看看数组中是否有该数据,如果有那么就不把数据写入数组,如果没有就接着最后一个元素写入数组就可以了。

Ⅶ c语言数组元素的删除

对于数组删除,一般就是使用后面数组元素前移的操作,来覆盖前一元素,达到删除的效果。。。。

例如数组a[10],要删除a[5]这个元素,那么只需要把后面的元素前移一位就行了,也就是a[5]=a[6],a[6]=a[7],a[7]=a[8],这样子a[5]这个元素的内容就会被全部抹杀掉了。。。。

不过这里存在一个问题,你一个结构体数组前移的时候,如何判断有多少个元素要前移呢。。。。

所以我的做法是在结构体里面定义一个标示符int flag。。。。

当对这个结构体数组元素赋值时,如a[10].name="KING" 时,那么就是说下标值为10的元素是存在的,赋完值后,来个a[10].flag=1 来标记一下。。。。

这样做的话,我们可以进行这样的删除操作了,如删除下标值为5的元素——
int i=5;
for(int j=i+1;a[j].flag==1;i++,j++)
{
a[i]=a[j];
/* 结构体数组可以直接这样子做,它会自动把a[i]里面的变量等于a[j]里面对应的变量 */
}
a[i].flag=0;
/* 如果你里面原来有10个元素,那么删除了其中一个,那就剩下9个,a[9]那个位置应该为空,一一把里面的元素清空太麻烦,直接把它的标示符flag等于0,就表示该位置为空的 */

Ⅷ C语言里删除数组怎么删除

你的数组是是一块连续的内存,不能直接delete其中的一个,而且它还不是new出来的,更不能delete了。。。
如果你非要实现删除一个元素的效果的话,建议你使用stl里的vector,作用跟数组差不多,删除的时候用erase()就可以了,不过这样vector会把之后的所以元素迁移,影响效率。最好的方法是自己写个单链表来存你的数据,要实现你的删除,就删除个节点好了。