作业帮 > 综合 > 作业

C语言问题,一列数字,将0排到后面去,可改变原来的顺序,我的问题出在哪里?

来源:学生作业帮 编辑:搜狗做题网作业帮 分类:综合作业 时间:2024/07/20 15:40:00
C语言问题,一列数字,将0排到后面去,可改变原来的顺序,我的问题出在哪里?
#include
int main()
{
int a[10]={5,4,9,0,3,0,6,2,0,8};
int left=0,right=9,i;
while(left==right)
{
if(a[left]==0&&a[right]!=0)
{
a[left]=a[right];
a[right]=0;
right--;
}
else if(a[left]==0&&a[right]==0)
{
a[left]=a[right-1];
a[right-1]=0;
right-=2;
}
left++;
}
for(i=0;i
C语言问题,一列数字,将0排到后面去,可改变原来的顺序,我的问题出在哪里?
第6行中left==right在初始条件下就不成立,所以没有进入循环,直接输出了数组a的元素值.