游客 Signup | Login
中文 | En

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;
}

Time Limit 1 second
Memory Limit 32 MB
Discuss Stats
上一题 下一题