1178 - C语言7.2
时间限制 : 1 秒
内存限制 : 32 MB
用起泡法(冒泡排序)对n个整数排序并输出从小到大排序后的结果。
题目输入
第一行包含一个大于0且不超过200的正整数n,表示以下有n个整数需要被排序。
第二行有n个用空格隔开的整数。
题目输出
输出从小到大排序后的结果,每个整数后输出一个空格。
请注意行尾输出换行。
输入/输出样例
输入格式
10 1 0 4 8 12 65 -76 100 -45 123
输出格式
-76 -45 0 1 4 8 12 65 100 123
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; }
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; }
Java解答
import java.util.Scanner; public class Main { public static void main(String[] args) { int n=0; Scanner cin = new Scanner(System.in); n = cin .nextInt(); int number = n; int arr[]=new int[ n ]; for( int i=0;i< n ;i++ ) { arr[i] = cin.nextInt(); } for( int i = 0 ;i<number;i++ ) { for( int j=i+1;j<number;j++ ) { if( arr[i]>=arr[j] ) { int temp = 0 ; temp= arr[i]; arr[i]=arr[j]; arr[j]=temp; } } } for( int i=0;i<arr.length;i++) { System.out.printf("%d ",arr[i]); } System.out.println(); } }
Python解答
input() a = sorted([int(i) for i in raw_input().split()]) for i in a: print i, print ""