
题目
解决代码及点评
/* 功能:间隔元素排序。用随机函数产生25个[25,75]之间的整数, 把它送到一维数组M中。 要求对M[I],M[I+J],M[I+2*J],…这些元素按从小到大的顺序排序。 J的值由键盘输入,I从1到J变化。实际上是以J为间隔排了J个对列,每个对列中从小到大排序。 时间:3:03 2013/10/26 */ #include<stdio.h> #include <stdlib.h> #include <time.h> void main() { time_t t; srand((unsigned)time(&t)); //随机函数发生器 int a[25]; for(int i=0;i<25;i++) { a[i]=rand()%50+25;//用随机函数产生25个[25,75]之间的整数,存入数组中 if(i%5==0)printf("\n"); printf("%3d",a[i]); } printf("\n\n"); int j; scanf_s("%d",&j); for(int i=0;i<=j;i++) { for(int k=i;k<25;k+=j) { if(k+j<25) { for (int t=k+j;t<25;t+=j) { if(a[k]>a[t]) { a[k]=a[k]+a[t]; a[t]=a[k]-a[t]; a[k]=a[k]-a[t]; } } } } } printf("\n\n"); for(int i=0;i<25;i++) { if(i%5==0)printf("\n"); printf("%3d",a[i]); } system("pause"); }
代码编译以及运行
由于资源上传太多,资源频道经常被锁定无法上传资源,同学们可以打开VS2013自己创建工程,步骤如下:
1)新建工程
2)选择工程
3)创建完工程如下图:
4)增加文件,右键点击项目
5)在弹出菜单里做以下选择
6)添加文件
7)拷贝代码与运行
程序运行结果
代码下载
http://download.csdn.net/detail/yincheng01/6681845
解压密码:c.itcast.cn