首页 > 学院 > 开发设计 > 正文

九度题目1202的解决

2019-11-08 01:15:58
字体:
来源:转载
供稿:网友
题目1202:排序

时间限制:1 秒

内存限制:32 兆

特殊判题:否

提交:27571

解决:8957

题目描述:

    对输入的n个数进行排序并输出。

输入:

    输入的第一行包括一个整数n(1<=n<=100)。    接下来的一行包括n个整数。

输出:

    可能有多组测试数据,对于每组数据,将排序后的n个整数输出,每个数后面都有一个空格。    每组测试数据的结果占一行。

样例输入:
41 4 3 2样例输出:
1 2 3 4 来源:

2006年华中科技大学计算机保研机试真题

方法一:冒泡排序法(C语言)

#include <stdio.h>int main(){	int n;	int i,j,tmp;	int buf[100];	while(scanf("%d",&n)!=EOF)	{		for(i=0;i<n;i++)		{			scanf("%d",&buf[i]);		}		for(i=0;i<n;i++)		{			for(j=0;j<n-1-i;j++)			{				if(buf[j]>buf[j+1])				{					tmp=buf[j];				    buf[j]=buf[j+1];					buf[j+1]=tmp;				}			}		}		for(i=0;i<n;i++)		{ 			PRintf("%d ",buf[i]);		}		printf("/n");	}	return 0;}

方法二:快速排序法(C使用qsort函数)

#include <stdio.h>#include <stdlib.h>int cmp(const void *a,const void *b){	return *(int*)a-*(int*)b;}int main(){	int n;	int i;	int buf[100];	while(scanf("%d",&n)!=EOF)	{		for(i=0;i<n;i++)		{			scanf("%d",&buf[i]);		}		qsort(buf,n,sizeof(int),cmp);		for(i=0;i<n;i++)		{ 			printf("%d ",buf[i]);		}		printf("/n");	}	return 0;}

方法三:C++快速排序法(使用sort函数)

#include <stdio.h>#include <algorithm>using namespace std;int main(){	int n;	int i;	int buf[100];	while(scanf("%d",&n)!=EOF)	{		for(i=0;i<n;i++)		{			scanf("%d",&buf[i]);		}		sort(buf,buf+n);		for(i=0;i<n;i++)		{ 			printf("%d ",buf[i]);		}		printf("/n");	}	return 0;}


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表