奇數單增序列


題目描述:

給定一個長度為N(不大於500)的正整數序列,請將其中的所有奇數取出,並按升序輸出。

 

輸入:

共2行:
第1行為 N;
第2行為 N 個正整數,其間用空格間隔。

 

輸出:

增序輸出的奇數序列,數據之間以逗號間隔。數據保證至少有一個奇數。

 

樣例輸入:

10
1 3 2 6 5 4 9 8 7 10

 

樣例輸出:

1,3,5,7,9

 

這個略帶一點數學的含量,首先要搞懂奇數除以2是不等於0的(話說學到這的大佬們應該都知道吧……唉……又彪了……不要理我);其次,就得排序了。我這里是把所有奇數放到新的數組里再進行操作(這里用queue似乎簡單得很),代碼(隨便抄(白眼)):

#include<iostream>
    #include<algorithm> 
    using namespace std;
    int a[100000],b[100000];
    int main()
    {
    int N,k,j,temp,d=1;
    cin>>N;
    for(int i=1;i<=N;i++)
    {
        cin>>a[i];
        if(a[i]%2!=0)
        {
            b[d]=a[i];
            d++;
        }
    }
        sort(b+1,b+d+1);
    for(int i=1;i<=d;i++)
    {
        if(b[i]!=0)
        {
            if(i==d)printf("%d",b[i]);
            else printf("%d,",b[i]);
        }
    }
    return 0;
    }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM