吴芳芳神简历:c++中的一个小问题

来源:百度文库 编辑:高校问答 时间:2024/05/12 04:14:59
此程序用于将两个递增数列合并为一个递增数列,编译能通过,但无法达到想要的结果.
# include <iostream.h>
void main()
{
int c[20];
int a[10],b[10];
for(int m=0;m<10;m++)
cin>>a[m];
cout<<"OK!";
for(int n=0;n<10;n++)
cin>>b[n];
int i,j,k;
i=j=k=0;
while(i<10&&j<10)
{
if(a[i]<b[j])
{
c[k]=a[i];
i++;
k++;
}
else if(a[i]>b[j])
{
c[k]=b[j];
j++;
k++;
}
else
{
c[k]=a[i];
i++;
j++;
k++;
}
}
while(i<10)
{
c[k]=a[i];
i++;
k++;
}
while(j<10)
{
c[k]=b[j];
j++;
k++;
}
for(int r=0;r<=k;r++)
cout<<c[k];
}

首先你的两个数列还不是递减数列,其次最后输出时应该是用cout<<c[r];

没必要这么烦吧,你先只管把两个数组并成一个,之后再进行排序不就可以啦