数据交换输出
数据N个 最小的数和第一个数交换位置
看了参考答案有点心得:就是巧妙利用一下条件表达式输出格式
#includeint main(void){ int n,m,i,min; int a[100]; while(scanf("%d",&n)) { scanf("%d",&min); for(i = 1;i < n;i++) { scanf("%d",&a[i]); if(a[i] < min) { m = min; min = a[i]; a[i] = m; } } a[0] = min; for(i =0;i < n;i++) printf("%d ",a[i]); printf("\n"); } return 0;}
参考答案
#include#include using namespace std;int main(void){ int i, n; int f[100], m; while (scanf("%d", &n), n) { m = 0; for (i = 0 ; i < n ; i++) { scanf("%d", f + i); if (f[i] < f[m]) m = i; } swap(f[m], f[0]); for (i = 0 ; i < n ; i++) printf("%d%c", f[i], (i < n - 1 ? ' ' : '\n')); } return 0;}