1178 - C语言7.2
用起泡法(冒泡排序)对n个整数排序并输出从小到大排序后的结果。
Input
第一行包含一个大于0且不超过200的正整数n,表示以下有n个整数需要被排序。
第二行有n个用空格隔开的整数。
Output
输出从小到大排序后的结果,每个整数后输出一个空格。
请注意行尾输出换行。
Examples
Input
10 1 0 4 8 12 65 -76 100 -45 123
Output
-76 -45 0 1 4 8 12 65 100 123
Solution C
#include<stdio.h> int main(){ int a[200]; int i,j,n,temp; scanf("%d",&n); for(i=0;i<n;i++) scanf("%d",&a[i]); for(i=0;i<n;i++) for(j=0;j<n-i-1;j++){ if(a[j]>a[j+1]){ temp=a[j]; a[j]=a[j+1]; a[j+1]=temp; } } for(i=0;i<n;i++) printf("%d ",a[i]); printf("\n"); return 0; }
Solution C++
#include <stdio.h> int main() { int n, i, j, temp; int a[200]; scanf("%d", &n); for (i = 0;i < n;i++) scanf("%d", &a[i]); for (i = 0;i < n;i++) { for (j = 0;j + i + 1 < n;j++) { if (a[j] > a[j + 1]) { temp = a[j]; a[j] = a[j + 1]; a[j + 1] = temp; } } } for (i = 0;i < n;i++) { printf("%d ", a[i]); } puts(""); return 0; }