2084 - 【一维数组】排序后的奇数项

有20个正整数,将它们从小到大排序,输出其中的奇数项。

题目输入

一行,有20个正整数,整数之间用空格隔开。

题目输出

一行,排序后奇数项的值。行末不要出现多余空格。

输入/输出样例

题目输入

20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1

题目输出

1 3 5 7 9 11 13 15 17 19

提示

注意:不是奇数,而是奇数项的值。

C语言解答

#include <stdio.h>
#include <stdlib.h>
int main()
{
	int i,j,n,t,a[1001]={0};
    n=20;
    for (i=1;i<=n;i++)
		scanf("%d",&a[i]);
    for (i=1;i<=n-1;i++)
     for (j=i+1;j<=n;j++)
     {
		if (a[i]>a[j])
        {
			t=a[i]; a[i]=a[j]; a[j]=t;
        }
     } 
    printf("%d",a[1]); 
    for (i=3;i<=n;i=i+2)
		printf(" %d",a[i]);
    printf("\n");
	return 0;
}

C++解答

#include<iostream>
using namespace std;
int main()
{
	int n,z;
	int f[20];
	for(int i=1;i<=20;i++)
	{cin>>n;
	f[i]=n;
	}
	for(int q=1;q<=20;q++)
	for(int x=2;x<=20;x++)
	{
		if(f[x-1]>f[x]) {
		z=f[x];f[x]=f[x-1];f[x-1]=z;}
	};
	for(int p=1;p<=19;p+=2)
	{if(p!=19) cout<<f[p]<<" ";
	else cout<<f[p];
	}
	cout<<endl;
	return 0;
}

提示

注意:不是奇数,而是奇数项的值。

时间限制 1 秒
内存限制 64 MB
讨论 统计
上一题 下一题