1178 - C语言7.2

通过次数

0

提交次数

0

时间限制 : 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 ""