7-3 L0802:动态数组排序
分数 15
作者 樊鑫
单位 南昌航空大学
动态数组排序:运用动态内存分配函数malloc,创建一个整数类型(int)的动态数组,首先输入动态数组的元素个数,然后再依次输入每个元素,对数组所有元素按照从小到大的顺序排序,最后输入一个起始下标(默认从0开始),程序将依次输出从该下标开始直到动态数组中最后一个元素的全部整数。
输入格式:
10
2 1 6 4 5 3 7 8 10 9
3
输出格式:
按"%d "的形式输出结果,如:4 5 6 7 8 9 10
输入样例:
在这里依次输入数组元素总个数、每个元素和起始下标。例如:
10
2 1 6 4 5 3 7 8 10 9
3
输出样例:
在这里以"%d "的格式给出相应的输出。例如:
4 5 6 7 8 9 10
我的代码:
#include<stdio.h>
#include<stdlib.h>
int main()
{
int i,j,m,N;
scanf("%d",&m);
int *a=(int *)malloc(sizeof(int)*m);
for(i=0;i<m;i++)
scanf("%d",&a[i]);
scanf("%d",&N);
int max;
for(i=m-1;i>0;i--)
{
for(j=0;j<i;j++)
{
if(a[j]>a[i])
{
max = a[j];
a[j]= a[i];
a[i]= max ;
}
}
}
if(N<m-1){
for(i=N;i<m;i++)
printf("%d ",a[i]);
}
else printf("%d ",a[m-1]);
return 0;
}