编写一个程序,输入两个包含5个元素的数组,先将两个数组升序排列,然后将这两个数组 c++

#include "iostream"
using namespace std;
void main()
{char a[12],b[6];

int i,j,p;
cout<<"请输入两个5元素数组:"<<endl;
cin>>a;
cin>>b;
cout<<"a="<<a<<endl;
cout<<"b="<<b<<endl;
i=a[0];j=b[0];
if(i>j)
cout<<b<<a<<endl;
else
cout<<a<<b<<endl;
strcat(a,b);
cout<<"a="<<a<<endl; //连接后的数组
for(i=0;i<9;i++) //用冒泡法排序
{for(j=0;j<9-1;j++)
{if(a[j]>a[j+1])
p=a[j];a[j]=a[j+1];a[j+1]=p;}
}
for(i=0;i<10;i++)
{cout<<a[i]<<endl;}
}
麻烦高手看看哪里错了呗,谢谢

非常典型的不规范书写的问题,排序时比较的交换没有扩起来。
void main()
{
char a[12],b[6];

int i,j,p;
cout<<"请输入两个5元素数组:"<<endl;
cin>>a;
cin>>b;
cout<<"a="<<a<<endl;
cout<<"b="<<b<<endl;
i=a[0];j=b[0];
if(i>j)
cout<<b<<a<<endl;
else
cout<<a<<b<<endl;
strcat(a,b);
cout<<"a="<<a<<endl; //连接后的数组
for(i=0;i<9;i++) //用冒泡法排序
{
for(j=0;j<9-1;j++)
{
if(a[j]>a[j+1])
{
p=a[j];a[j]=a[j+1];a[j+1]=p;
}
}
}
for(i=0;i<10;i++)
{
cout<<a[i]<<endl;
}
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-09-20
mark下,回去帮你看看,要下班了
相似回答