Problem N 奇偶数分离

人工智能

621人已加入

描述

题目描述
有一个整型偶数n(2<= n <=10000),你要做的是:先把1到n中的所有奇数从小到大输出,再把所有的偶数从小到大输出。

输入
第一行有一个整数i(2<=i<30)表示有 i 组测试数据;
每组有一个整型偶数n。
输出
第一行输出所有的奇数
第二行输出所有的偶数
(行末有空格,每组隔一个空行)

样例输入
2
10
14
样例输出
1 3 5 7 9
2 4 6 8 10

1 3 5 7 9 11 13
2 4 6 8 10 12 14
#include  

#include  
using namespace std;  
int main()  
{  
    int num;  
    cin >> num;  
    int x[10000];  
    for(int i=0;i     {  
        cin >> x[i];  
    }  
    vectora, b;  
    for (int i = 0; i < num; i++)  
    {  
        for (int j = 1; j <= x[i]; j++)  
        {  
            if (j % 2)  
                a.push_back(j);  
            else  
                b.push_back(j);  
  
        }  
        for (int j = 0; j < a.size(); j++)  
        {  
            cout << a.at(j) << " ";  
        }  
        cout << endl;  
        for (int j = 0; j < a.size(); j++)  
        {  
            cout << b.at(j) << " ";  
        }  
        cout << endl << endl;  
        a.clear();  
        b.clear();  
    }  
          
}  

内存 312 用时8  但是定义了一个变量为10000的数组,网上的参照程序直接用的X[NUM],自己编译不行,但提交确能成功。
第二次没用数组,并把分离奇偶数的部分作为函数写在主程序外,自己编译通过,提交不行。
 view plain copy
#include  
#include  
using namespace std;  
void depart(int x)  
{  
    vectora, b;  
    for (int j = 1; j <= x; j++)  
    {  
        if (j % 2)  
            a.push_back(j);  
        else  
            b.push_back(j);  
    }  
    for (auto p = a.begin(); p!= a.end(); p++)  
        cout << *p << " ";  
    cout << endl;  
    for (auto p = b.begin(); p!= b.end(); p++)  
        cout << *p << " ";  
    cout << endl << endl;  
}  
int main()  
{  
    int num,x;  
    cin >>num;  
    vectorinput;  
    for (int i = 0; i < num; i++)  
    {  
        cin >> x;  
        input.push_back(x);  
    }  
    for (int i = 0; i < num; i++)  
    {  
        int t = input.at(i);  
        depart(t);  
    }  
    return 0;  
}  

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分