C++输入10个数,按先奇数的升序再偶数升序规律输出。下面的错了,求大神指导

#include<iostream>
using namespace std;
void main()
{
int a[10],b[10],c[10],i,j=0,n;
cout<<"请输入10个数字:"<<endl;
for(i=0;i<10;i++)
{
cin>>a[i];
if(a[i]%2==1)
{
b[j]=a[i];
j++;
}
if(b[j]>b[j+1])
{
n=b[j+1];
b[j+1]=b[j];
b[j]=n;
}
if(a[i]%2==0)
{
c[j]=a[i];
j++;
}
if(c[j]>c[j+1])
{
n=c[j+1];
c[j+1]=c[j];
c[j]=n;
}

}
for(j=0;j<10;j++)
{
cout<<b[j]<<endl;
cout<<c[j]<<endl;
}
}

你这个是算法不对。没有做排序的功能
冒泡排序:
for(i=0;i<n-1;i++)
for(j=0;j<n-1-i;j++)
{
if(a[j]>a[j+1])
{
temp=a[j];
a[j]=a[j+1];
a[j+1]=a[j];
}
}
对你的b和c 数组做上面的排序就对了
温馨提示:答案为网友推荐,仅供参考
相似回答
大家正在搜