c语言交换顺序函数 c语言交换排序和选择排序的区别

c语言求数组元素交换次序

假定数据长n,输入一个整数m,

成都创新互联公司自2013年创立以来,是专业互联网技术服务公司,拥有项目网站建设、网站设计网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元衢州做网站,已为上家服务,为衢州各地企业和个人服务,联系电话:13518219792

1、使数组的后n-m个元素移到前边,前m-1个元素在数组中从最后位置倒序排列

#include

"stdio.h"

main()

{

int

i,n,m,t,j;

int

d[200];

printf("\n输入n的值(n200):");

scanf("%d",n);

for(i=0;in;i++)d[i]=i;

printf("\n输入m的值(m200):");

scanf("%d",m);

printf("\n输出调整前的数据:\n");

for(i=0;in;i++)printf("%d

",d[i];

//调整程序开始

for(i=0;im;i++)

{//n-m个数前移了

t=d[0];

for(j=1;jn;j++)d[j-1]=d[j];

d[n-1]=t;

}

for(i=0;im/2;i++)

{//倒序

t=d[n-1-i];

d[n-1-i]=d[m+i];

d[m+i=t;

}

printf("\n输出调整后的数据:\n");

for(i=0;in;i++)printf("%d

",d[i];

}

C语言用指针法交换两个数的顺序问题

解答:

1.    注意形式参数和实际参数的区别,主函数中的x,y是实际参数,swap函数中的a,b是形式参数。他们各有自己的存储空间,互不干扰。

2.    在程序适当位置加上输出地址的语句,即可看出为什么回到主程序后,x,y的值为什么不交换。

为了更形象,可以用图表示它们的关系:

可见,交换的只是swap函数中的a,b值,对主函数中的a,b值没有影响。

3.    修改的方法,将swap的交换变成值的交换。

c语言中怎么用指针调换顺序

要调换三个数的顺序,用排列组合原理简单的计算总共有6种方法,不知道楼主是想按其中某种方法交换变量的具体数值,还是将所有6种排序都打印出来?

例如,a=1,b=2,c=3,交换后结果为:a=3,b=1,c=2.

首先需要两个中间变量作为交换的媒介。程序如下

main()

{

int

a=1,b=2,c=3;

int

*x=a,*y=b,*z=c;/*定义3个指针变量,并分别赋予初值为a,b,c的地址。*/

int

*p=null,*s=null;/*x为交换中介指针变量,初始化为空*/

*p=*x;

*s=*y;

*x=*z;

*y=*p;

*z=*s;

printf("%d

%d

%d",a,b,c);

getch();

}

其实交换数不需要用到指针,直接运用变量本身也可交换。当然指针交换的好处在于函数内部可以实际交换两个数的值。


分享标题:c语言交换顺序函数 c语言交换排序和选择排序的区别
分享链接:http://myzitong.com/article/ddoisij.html