汉字字体下载:帮我看一下这个程序,有什么错误?(数据结构)

来源:百度文库 编辑:查人人中国名人网 时间:2024/04/29 01:23:21
main()
{
int i=0;
int k=0;
int a[6]={1,9,25,37,49,65};
int b[5]={2,9,7,25,35};
int c[11];
for(i=0;i<=11;i++)
{
if (a[i]==b[i])
{
c[k]=a[i];
k++;
}
else if (a[i]<b[i])
{
c[k]=a[i];
c[k+1]=b[i];
k++;
k++;
}
else
{
c[k]=b[i];
c[k+1]=a[i];
k++;
k++;
};
};
for(k=0;k<=15;k++)
{printf("\n");
printf("%d",c[k]);
};
}

main()
{
int i=0;
int j=0;
int k=0;
int temp;
int a[6]={1,9,25,37,49,65};
int b[5]={2,7,25,35,49};
int c[11];
for(i=0;i<=5;i++)
{c[k]=a[i];
k++;
};
for(j=0;j<=4;j++)
{c[k]=b[j];
k++;
};

for(j=0;j<=9;j++)
{
for(i=0;i<=9-j;i++)
{
if (c[i]>c[i+1])
{ temp=c[i];
c[i]=c[i+1];
c[i+1]=temp;
}
else if (c[i]==c[i+1])
{ for(i;i<=10;i++)
c[i+1]=c[i+2];

}
}
}
for(k=0;k<=8;k++)
{
printf("\n");
printf("%d",c[k]);
printf("\n");
}
}

要说错误,除了某些标点错误外,语法没什么错误.

此程序找到a,b中相同的存入1个副本到c,找2个中小的先存小的,后存大的
逻辑上没错

可能是你的编码很烂。。。
在wintc上只要成对编码能运行

最好把a[6],b[5]都改为a[11]

你是算法就有问题啊,错误太多了!你就是想把2个有序的线性表合成一个有序的线性表嘛!算法如下!

main()
{
int i = 0;
int j = 0;
int k = 0;
int a[6]={1,9,25,37,49,65};
int b[5]={2,9,7,25,35};
int c[11];
while(i<6&&j<5)
{
if (a[i]==b[j])
{
c[k]=a[i];
k++;
i++;
j++;
}
else if (a[i]<b[j])
{
c[k]=a[i];
i++;
k++;
}
else
{
c[k]=b[j];
j++;
k++;
}
};
if(i>=6)
{
while(j<5)
{
c[k] = b[j];
k++;
j++;
}
}
while(i<6)
{
c[k] = a[i];
k++;
i++;
}
for(k=0;k<=15;k++)
{printf("\n");
printf("%d",c[k]);
};
}

不知道可以不啊,头有点晕,感冒了

for(i=0;i<=11;i++)
你的i可能等于11
if (a[i]==b[i])这样的语句?超范围拉

int c[11];
for(i=0;i<=11;i++)
以0打头的数组,11个元素应该循环11次吗!
int c[11];
for(i=0;i<=10;i++)