(C语言)输入若干自然数,对偶数从小到大排序,对奇数从大到小排序,分别输出排序后的结果。

#include
void sort(int a[],int n,int flag)
{
	int i,j,k,t;
	for(i = 0;i < n-1;i ++)
	{
		k = i;
		for(j = i + 1;j < n;j ++)
		{
			if (flag)
			{
				if(a[k] > a[j])
					k = j;	
			}
			else{
				if(a[k] < a[j])
					k= j;
			}	
		}
		if(k != i)
		{
			t = a[i];
			a[i] = a[k];
			a[k] = t;
		}
	}
	for(i = 0;i < n;i ++)
	{
		if(flag)
			printf("%d ",a[i]);
		else 
			printf("%d ",a[i]);
	}
	printf("\n");
}
int main()
{
	int a[100],b[100];
	int i = 0,j = 0,k;
	int t = -1;
	while(1)
	{
		scanf("%d",&t);
		if(t == -1) //以-1为输入时的结束标志
			break;
		if(t % 2)
		{
			a[i] = t;
			i ++;
		}
		else
		{
			b[j] = t;
			j ++;
		}
	}
	sort(a,i,0);
	sort(b,j,1);
	return 0;
}

运行代码截图:

(C语言)输入若干自然数,对偶数从小到大排序,对奇数从大到小排序,分别输出排序后的结果。_第1张图片

注:侵权可删 

你可能感兴趣的:(c语言,算法,c++)