m开始的n个数排序
编一个函数,实现从第m个数开始的n个数的升序(用选择或冒泡都可以啦),谢谢谢谢啦。。给出的数用rand函数随机给出。
#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; }