C语言求助,如何删除一个数组中的某个元素(可能是重复元素),该元素由键盘输入
输入一组整数,以-1作为结束的标志,用数组s接收这组数,(规定这组数不超过100个,数组中的元素值可以重复出现;例如,输入6954675686623 -1),输入一个整数x,将s中值等于输入值x的所有元素从数组中删除,并输出删除后元素的个数和数组元素的各个值(例如, 输入6,则结果为:个数=8; 数组元素为:9 , 5, 4 , 7 ,5 , 8 ,2 ,3 )。我自己弄过但是那两个重复的6不能全部删除,总会剩余一个6. 下边是我自己弄的一个简单的程序:
#include<stdio.h>
void main()
{
int s={6,9,5,4,6,7,5,6,8,6,6,2,3};
int x=6,i,j,m;
for(i=0;i<13;i++)
{
if(x == s)
{
m++;
for(j=i;j<12;j++)
{
s=s;
}
}
}
printf("%d\n",13-m);
for(i=0;i<13-m;i++)
{
printf("%d ",s);
}
} https://blog.csdn.net/csdn17355456893/article/details/76883951 qiuyouzhi 发表于 2020-3-9 09:21
https://blog.csdn.net/csdn17355456893/article/details/76883951
但是这两种方法只能删除一个6,但是题目要求的是删去数组中全部的6 Funnyci 发表于 2020-3-9 09:38
但是这两种方法只能删除一个6,但是题目要求的是删去数组中全部的6
只要删除6,对吗? qiuyouzhi 发表于 2020-3-9 09:38
只要删除6,对吗?
删除的元素是键盘输入的,但是要删除数组中全部的那个元素,比如删除6,就要把数组里边的6全删了
页:
[1]