大家帮我看看这段代码,每当输入非数组a里的数字时就会删错数字…
c语言吧
全部回复
仅看楼主
level 8
0xffff 楼主
#include "stdio.h"
main()
{
int i,j,k;
int a[]={1,3,5,7,9};
scanf("%d",&k);
if(k==a[i])
break;
for(j=i+1;j<=4;j++)
a[j-1]=a[j];
for(i=0;i<=3;i++)
printf("%d",a[i]);
2012年12月10日 09点12分 1
level 8
0xffff 楼主
了,是这样的。
#include "stdio.h"
main()
{
int i,j,k;
int a[]={1,3,5,7,9};
scanf("%d",&k);
for(i=0;i<=4;i++)
if(k==a[i])
break;
for(j=i+1;j<=4;j++)
a[j-1]=a[j];
for(i=0;i<=3;i++)
printf("%d",a[i]);
}
2012年12月10日 09点12分 2
break 换成continue试试
2012年12月10日 14点12分
回复 丨我是楼上的丨 :你是想在输入相等时删除吗?
2012年12月10日 14点12分
回复 丨我是楼上的丨 :是的
2012年12月11日 01点12分
level 6
判断一下i,如果i==5 那就说明没找到,如果i!=5 才做
for(j=i+1;j<=4;j++)
a[j-1]=a[j];
2012年12月10日 14点12分 3
+1
2012年12月10日 14点12分
你是 兜兜??
2012年12月10日 14点12分
回复 5445428544 :你是8544?
2012年12月10日 14点12分
level 8
废话啊 你都没删除 你怎么还是输出少一个
2012年12月10日 14点12分 4
如果最后那就换成i<=4会出错。
2012年12月11日 01点12分
level 7
看得有点晕,你想实现什么?
如果k不等于1 3 5 7的话,j的第一个值是6!
2012年12月10日 14点12分 5
删除数组a里的数字
2012年12月11日 01点12分
level 1
是向里面嵌入数字么?
2012年12月10日 14点12分 6
删除里面的数字
2012年12月11日 01点12分
level 7
break是跳出当前的大括号。
2012年12月11日 01点12分 7
不是跳出当前循环吗?
2012年12月11日 01点12分
回复 __HaHo :是跳出循环,3楼正解啊
2012年12月11日 01点12分
1