C语言进阶编程题——排序

题目内容:

程序读入一个正整数n(0<n<=100000),然后读入n个整数,均为32位下的整数。输出对这个整数排序后的结果,每个整数后面有一个空格。

输入格式:

一个表示个数的正整数n,和n个整数,以空格间隔。

输出格式:

排序后的n的整数,每个整数后面有一个空格。

输入样例:

6 2 23 54 12 6 8

输出样例:

2 6 8 12 23 54

代码

#include<stdio.h>

int max(int a[],int len)
{
	int maxid = 0;
	int i = 0;
	for(i=0;i<len;i++){
		if(a[i]>a[maxid]){
			maxid = i;
		}
	} 
	return maxid;
}

int main()
{
	int maxid = 0; 
	int i = 0;
	int len = 0;
    int cnt = 0;
    
    while(cnt == 0)
    {
    	scanf("%d",&len);
    	cnt++;
	}
	
	int a[len];
	
	for(i=0;i<len;i++)
	{
		if(cnt == 1)
		{
			scanf("%d",&a[i]);
		}
	}
	
	for(i=len-1;i>0;i--)
	{
		maxid = max(a,i+1);
    	int t =a[maxid];
    	a[maxid] = a[i];
    	a[i] = t;
	}
	
	for(i=0;i<len;i++){
		printf("%d ",a[i]);
	}
	
	return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_41979297/article/details/82980172