m开始的n个数排序
编一个函数,实现从第m个数开始的n个数的升序(用选择或冒泡都可以啦),谢谢谢谢啦。。给出的数用rand函数随机给出。
2015-05-08 13:28
2015-05-08 13:29
2015-05-08 16:13
2015-05-08 20:23
2015-05-09 21:25
2015-05-10 11:57
2015-05-10 12:10
2015-05-10 12:12
程序代码:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(void)
{
srand((unsigned)time(NULL));
int m=0;
printf("请输入M个整数中的M是:");
scanf("%d",&m);
int* p;
p=(int*)malloc(m*sizeof(int)); //因不知生成的数据量 所以不能类似int a[n]的声明
int n=0;
int i=0;
int j=0;
int t=0;
for(;i<m;i++)
{
*(p+i)=rand();
}
printf("原始数据是:\n");
i=0;
for(;i<m;i++)
{
printf("%d ",*(p+i));
}
printf("请输入中断数据中的m,n: 数据范围应该在1--%d之间",m);
int x,y;
scanf("%d%d",&x,&y);
//对于随机生成的数据 按照指定的中断范围 进行排序
for(i=x-1;i<x+y-1;i++)
{
for(j=i;j<x+y-1;j++)
{
if(*(p+i)>*(p+j))
{
t=*(p+i);
*(p+i)=*(p+j);
*(p+j)=t;
}
}
}
//对所有数据进行输出
i=0;
for(;i<m;i++)
{
printf("%d ",*(p+i));
}
free(p);
return 0;
}

2015-05-10 12:41