#include<iostream>
#include<stdlib.h>
#include<time.h>
using namespace std;
#define maxsize 20
void print(int m[],int n)
{
for (int i = 0; i < n; i++)
{
cout << m[i] << " ";
}
cout << endl;
}
int main()
{
srand((unsigned)time(NULL));
int array[maxsize];
for (int i = 0; i < maxsize; i++)
{
array[i] = rand()%100-50;
}
cout << "原数列:";
print(array, maxsize);
int m =0, n = 0;
int positive[maxsize];
int minus[maxsize];
for (int i = 0; i < maxsize; i++)
{
if (array[i] > 0)
{
positive[m] = array[i];
m++;
}
else
{
minus[n] = array[i];
n++;
}
}
for (int i = 0; i < maxsize; i++)
{
if (i < m)
{
array[i] = positive[i];
}
else
{
array[i] = minus[i - m];
}
}
cout << "正数数列:";
print(positive, m);
cout << "负数数列:";
print(minus, n);
cout << "转换后的数列:";
print(array, maxsize);
system("pause");
return 0;
}
代码运行效果