
4个回答
展开全部
要调换三个数的顺序,用排列组合原理简单的计算总共有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();
}
其实交换数不需要用到指针,直接运用变量本身也可交换。当然指针交换的好处在于函数内部可以实际交换两个数的值。
例如,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();
}
其实交换数不需要用到指针,直接运用变量本身也可交换。当然指针交换的好处在于函数内部可以实际交换两个数的值。
展开全部
/* Note:Your choice is C IDE */
#include "stdio.h"
main()
{
int pf;/*中间变量用于地址交换*/
int a=1,b=2,c=3;
int *pa,*pb,*pc;
pa=&a;
pb=&b;
pc=&c;
printf("调换前:%d,%d,%d\n",*pa,*pb,*pc);
/*下面为地址交换*/
pf=pa;
pa=pc;
pc=pb;
pb=pf;
printf("调换后:%d,%d,%d",*pa,*pb,*pc);
}
#include "stdio.h"
main()
{
int pf;/*中间变量用于地址交换*/
int a=1,b=2,c=3;
int *pa,*pb,*pc;
pa=&a;
pb=&b;
pc=&c;
printf("调换前:%d,%d,%d\n",*pa,*pb,*pc);
/*下面为地址交换*/
pf=pa;
pa=pc;
pc=pb;
pb=pf;
printf("调换后:%d,%d,%d",*pa,*pb,*pc);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2010-06-04
展开全部
int a,b,c;
int *pa,*pb,*pc;
pa=&a;
pb=&b;
pc=&c;
pc=pa;
pa=&c;
print"pa,pb,pc"
int *pa,*pb,*pc;
pa=&a;
pb=&b;
pc=&c;
pc=pa;
pa=&c;
print"pa,pb,pc"
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
利用一个临时变量
a=1
b=2
c=3
d=""
d=a
a=b
b=c
c=d
a=1
b=2
c=3
d=""
d=a
a=b
b=c
c=d
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询