1071: 冒泡排序
内存限制:128 MB
时间限制:1.000 S
评测方式:文本比较
命题人:
提交:1
解决:1
题目描述
用起泡法(冒泡排序)对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
提示
需要用到动态申请内存空间函数malloc
加入头文件#include <stdlib.h>
动态申请代码如下:
int *p;
scanf("%d",&n);
p=(int *)malloc(sizeof(int)*n);
for(i=0;i<n;i++)
{
scanf("%d",(p+i));
}
-------------------------------------------
参考代码:
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int n,*p;
int i,j,temp;
scanf("%d",&n);
p = (int*)malloc(sizeof(int)*n); //申请n个元素的数组空间 ,p就是数组名
for(i=0;i<n;i++) scanf("%d",&p[i]); //输入数组元素
//冒泡排序
//填入代码
for(i=0;i<n;i++) printf("%d ",p[i]);
free(p);//释放申请的数组空间
return 0;
}