题目描述
完善程序:
输入N个整数,使用选择排序法从小到大输出。
#include<bits/stdc++.h> using namespace std; int N; int a[100010]; int main() {freopen("1455.in","r",stdin);freopen("1455.out","w",stdout);cin >> N;for (int i=0; i < N; i++)cin >> a[i];for (int i=N-1; i > 0; i--){int maxx = 0; //最大值开始假设在第0位for (int j=1; j <= i; j++) //扫描找最大值if (a[j] > _____ ) _____ ; //记录大值的位置swap(_____,_____); //把最大值交换到后面} for (int i=0; i < N; i++)cout << a[i] << " ";return 0; }
输入格式
第一行1个正整数:N,范围在[1,1000]。
第二行N个整数,每个整数范围在[0,1000000]。
输出格式
一行N个从小到大的整数。
输入/输出例子1
输入:
4
5 3 6 1
输出:
1 3 5 6
My Code:
#include<bits/stdc++.h>
using namespace std;
int n,a[1009],s;
int main()
{cin>>n;for(int i=1;i<=n;i++)cin>>a[i];for(int i=1;i<=n-1;i++)//从a[1]开始枚举,到a[n-1]结束{for(int j=i+1;j<=n;j++)//从a[i+1]到a[n]结束{if(a[i]>a[j])//i是前面的数,j是后面的数{s=a[i];a[i]=a[j];a[j]=s;}}}for(int i=1;i<=n;i++)cout<<a[i]<<" ";return 0;
}