1427 - C语言-选择排序

通过次数

0

提交次数

0

时间限制 : 1 秒 内存限制 : 128 MB

用选择法对10个整数从小到大排序。

题目输入

10个整数

题目输出

排序好的10个整数

输入/输出样例

输入格式

4 85  3 234 45 345 345 122 30 12

输出格式

3
4
12
30
45
85
122
234
345
345

C语言解答

int main(int argc, char* argv[])
{
  int num[10],i,j,a,k;
  for(i=0;i<10;i++)
  { 
	  scanf("%d",&a);
	  for(j=0;j<i;j++)
		  if(num[j]>a)
	        break;
	 for(k=i;k>j;k--)
		 num[k]=num[k-1];
	 num[k]=a;
  }
  for(i=0;i<10;i++)
	  printf("%d\n",num[i]);
	return 0;
}

C++解答

#include<iostream>
using namespace std;
int a[11];
int main()
{
	for (int i=1; i<=10; i++) cin>>a[i];
	for (int i=1; i<10; i++)	//选择排序
	{
		int k=i;
		for (int j=i+1; j<=10; j++)
			if (a[k]>a[j]) k=j;
		if (k!=i)
		{
			int t=a[k];
			a[k]=a[i];
			a[i]=t;
		}
	}
	for (int i=1; i<=10; i++) cout<<a[i]<<endl;
	return 0;
}