C语言中删除一个数组元素 30
先定义一个数组,赋值再输入一个数判断这个数组里有没有如果有就删除他最后输出删完后的数组谢谢各位大人拉~~~~~~~~~~~~~~小弟没多少分只有30这里都贡献了吧我在补充...
先定义一个数组,赋值
再输入一个数
判断这个数组里有没有
如果有就删除他
最后输出删完后的数组
谢谢各位大人拉~~~~~~~~~~~~~~小弟没多少分只有30 这里都贡献了吧
我在补充一下吧
定义一个数组 比如a[10]={1,3,7,61,86,12,75643,8989,1,3}
然后输入一个数x比如说是3
然后删除这个3
最后输出9个数的数组
那可不可以用脚标判断 然后后位代替前位的方法 最后输出前9位数,实现对这树的删除。 展开
再输入一个数
判断这个数组里有没有
如果有就删除他
最后输出删完后的数组
谢谢各位大人拉~~~~~~~~~~~~~~小弟没多少分只有30 这里都贡献了吧
我在补充一下吧
定义一个数组 比如a[10]={1,3,7,61,86,12,75643,8989,1,3}
然后输入一个数x比如说是3
然后删除这个3
最后输出9个数的数组
那可不可以用脚标判断 然后后位代替前位的方法 最后输出前9位数,实现对这树的删除。 展开
7个回答
展开全部
如果数组里全是3 那我输入要删除的3之后 楼主想要一个什么结果呢
是9个3 还是一个元素也不输出?
下面的程序可能能实现楼主的意思
#include<stdio.h>
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<stdio.h>
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]);
}
展开全部
可以设定 先把数组所有值都赋值
查找可以通过循环比对
for (i=0;i++;i<arraylenth)
{
if x==a[i]
{ flag=0;
a[i]=null;
}
}
然后通过判断flag来看看是否找到数据
将数组元素置空来表示删除
查找可以通过循环比对
for (i=0;i++;i<arraylenth)
{
if x==a[i]
{ flag=0;
a[i]=null;
}
}
然后通过判断flag来看看是否找到数据
将数组元素置空来表示删除
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
找到这个数后把后面的数依次前提一位,输出时丢弃找到的最后几个..
#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<N-tem;i++){
if(a[i]==delnum){
tem++;
for(j=i;j<N-tem;j++)
a[j]=a[j+1];
}
}
printf("\n");
for(i=0;i<N-tem;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<N-tem;i++){
if(a[i]==delnum){
tem++;
for(j=i;j<N-tem;j++)
a[j]=a[j+1];
}
}
printf("\n");
for(i=0;i<N-tem;i++)
printf("%d,",a[i]);
getch();
return;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2008-08-10
展开全部
一般的数组元素无法删除,只能将值改变为另一个特定的值,然后发现这个值就直接转向下一个元素.
用链表可以删除表中的一个结点.
用链表可以删除表中的一个结点.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
一维数组啊,其实实现一个数的删除很简单啊,只要不输出就行,你说的那个方法也行,或者直接记住这个下标,输出时加个条件判断就行,达到目的就好了,不必拘泥形式。
#include<stdio.h>
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<stdio.h>
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;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询