若输入数据为:5 3 2 1 5 4 则if(a[j]<a[tmp])这句话中的条件会成立()次(即后面的tmp=j会执行多少次)。
#include<iostream>
#include<cstring>
#include<cstdio>
#define N 500+10
using namespace std;
int a[N], n;
int main() {
cin >> n;
for ( int i = 1; i <= n; i++) cin >> a[i];
for ( int i = 1; i < n; i++)
for ( int j = i+1; j <= n; j++) {
int tmp = i;
if(a[j] < a[tmp]) tmp = j;
swap( a[i], a[tmp] );
}
for ( int i = 1; i <= n; i++) cout << a[i] << " ";
cout << endl;
return 0;
}
5
7
3
4