題目描述:
給定一個長度為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; }