首页 > 专题系列 > C基础练习 > C语言程序设计-排序[函数应用]
2013
11-19

C语言程序设计-排序[函数应用]

10055 排序

【问题描述】对输入的10个整数进行排序,按从小到大的顺序输出,要求排序过程由函数完成。

【输入形式】输入包括一行,共10个整数,各数之间由空格分割。

【输出形式】在同一行上输出排好序的10个数,各数之间由空格分割。

【样例输入】25 48 13 27 68 76 43 20 9 65

【样例输出】9 13 20 25 27 43 48 65 68 76

【样例说明】输出为排好序后的数串(注意:每个输出的数后面跟一个空格)。

【评分标准】本题共4个测试点,每个测试点0.25分,总分1.0分。

#include <iostream>
using namespace std;
//使用冒泡排序
int nums[10] = {0};
int main()
{
	int i,j;
	for (i=0;i<10;i++)
	{
		cin>>nums[i];
	}
	// int len = i--;

	//判断冒泡是否进行了交换,若没有,则排序完毕
	int temp;
	for (i=0;i<10;i++)
	{
		//如果发生交换
		bool flag = false;
		
			for (j=1;j<10;j++)
			{
				if(nums[j-1] > nums[j])
				{
					temp = nums[j-1];
					nums[j-1] = nums[j];
					nums[j] = temp;
					flag = true;
				}
			}
		
		if (!flag)
			break;
	}
	for (i=0;i<10;i++)
	{
		cout<<nums[i];
		if (i != 10)
		{
			cout<<" ";
		}
	}
	cout<<endl;
	return 1;
}

 


  1. 学算法中的数据结构学到一定程度会乐此不疲的,比如其中的2-3树,类似的红黑树,我甚至可以自己写个逻辑文件系统结构来。