C语言中删除一个数组元素
答案:6 悬赏:0 手机版
解决时间 2021-12-01 17:48
- 提问者网友:戎马万世
- 2021-11-30 19:27
C语言中删除一个数组元素
最佳答案
- 五星知识达人网友:鸠书
- 2021-11-30 20:03
如果数组里全是3 那我输入要删除的3之后 楼主想要一个什么结果呢
是9个3 还是一个元素也不输出?
下面的程序可能能实现楼主的意思
#include
void main()
{
int a[10]={1,3,7,61,86,12,75643,8989,1,3},n,i;
printf("input the number to delete:");
scanf("%d",&n);
for(i=0;i<10;i++)
if(a[i]!=n)
printf("%d ",a[i]);
}
是9个3 还是一个元素也不输出?
下面的程序可能能实现楼主的意思
#include
void main()
{
int a[10]={1,3,7,61,86,12,75643,8989,1,3},n,i;
printf("input the number to delete:");
scanf("%d",&n);
for(i=0;i<10;i++)
if(a[i]!=n)
printf("%d ",a[i]);
}
全部回答
- 1楼网友:一叶十三刺
- 2021-12-01 00:41
一维数组啊,其实实现一个数的删除很简单啊,只要不输出就行,你说的那个方法也行,或者直接记住这个下标,输出时加个条件判断就行,达到目的就好了,不必拘泥形式。
#include
int main()
{
int a[2][2]={1,2,3,4},n;
printf("input the number to delete:");//输入查找的数
scanf("%d",&n);
for(int i=0;i<2;i++)
for(int j=0;j<2;j++)
if(a[i][j]==n) a[i][j]=0;//找到修改成0,只能修改 不能删除
//输出
for(int i=0;i<2;i++)
for(int j=0;j<2;j++)
printf("%d",a[i][j]);
getchar();
getchar();
return 0;
}
#include
int main()
{
int a[2][2]={1,2,3,4},n;
printf("input the number to delete:");//输入查找的数
scanf("%d",&n);
for(int i=0;i<2;i++)
for(int j=0;j<2;j++)
if(a[i][j]==n) a[i][j]=0;//找到修改成0,只能修改 不能删除
//输出
for(int i=0;i<2;i++)
for(int j=0;j<2;j++)
printf("%d",a[i][j]);
getchar();
getchar();
return 0;
}
- 2楼网友:孤独入客枕
- 2021-11-30 23:07
一般的数组元素无法删除,只能将值改变为另一个特定的值,然后发现这个值就直接转向下一个元素.
用链表可以删除表中的一个结点.
用链表可以删除表中的一个结点.
- 3楼网友:骨子里都是戏
- 2021-11-30 22:39
可以设定 先把数组所有值都赋值
查找可以通过循环比对
for (i=0;i++;i{
if x==a[i]
{ flag=0;
a[i]=null;
}
}
然后通过判断flag来看看是否找到数据
将数组元素置空来表示删除
查找可以通过循环比对
for (i=0;i++;i{
if x==a[i]
{ flag=0;
a[i]=null;
}
}
然后通过判断flag来看看是否找到数据
将数组元素置空来表示删除
- 4楼网友:像个废品
- 2021-11-30 21:32
可以不输出 也可以把要输出的部分存入另一个数组 最好用链表 节省空间
- 5楼网友:患得患失的劫
- 2021-11-30 21:20
找到这个数后把后面的数依次前提一位,输出时丢弃找到的最后几个..
#define N 10
main(){
int a[N]={1,3,7,61,86,12,75643,8989,1,3} ;
int i,j,tem,delnum;
tem=0;
printf("\nEnter del num:");
scanf("%d",&delnum);
for(i=0;i if(a[i]==delnum){
tem++;
for(j=i;j a[j]=a[j+1];
}
}
printf("\n");
for(i=0;i printf("%d,",a[i]);
getch();
return;
}
#define N 10
main(){
int a[N]={1,3,7,61,86,12,75643,8989,1,3} ;
int i,j,tem,delnum;
tem=0;
printf("\nEnter del num:");
scanf("%d",&delnum);
for(i=0;i
tem++;
for(j=i;j
}
}
printf("\n");
for(i=0;i
getch();
return;
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯