题目
解决代码及点评
/*
功能:间隔元素排序。用随机函数产生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