中易网

C语言输入三个数按由小到大排序函数调用的方法

答案:2  悬赏:10  
解决时间 2021-12-04 20:07
C语言输入三个数按由小到大排序函数调用的方法
最佳答案
#include
mian()
{
int f(int *pointer1,int *pointer2,int *pointer3); \\对要进行调用的函数进行声明
int change(int *po1,int *po2);
int a,b,c,*p1,*p2,*p3; \\定义三个变量和三个指针变量。
scanf("%d %d %d",a,b,c);
p1=a; p2=b; p3=c;
f(*p1,*p2,*p3); \\调用函数f()
printf("排序后的三个数为:%d%d%d\n",a,b,c);
}
int f(int *pointer1,int *pointer2,int *pointer3)
{
if(*pointer1>*pointer2) change(*pointer1,*pointer2);
if(*pointer1>*pointer3) change(*pointer1,*pointer3);
if(*pointer2>*pointer3) change(*pointer2,*pointer3);
}
int change(int *po1,int *po2)
{
int t;
t=*po1;
*po1=*po2;
*po2=t;
}
全部回答
因为值的交换在函数里面,交换是无效的,需要用地址的交换 #include <stdio.h> int swap(int *a, int *b) { int tmp; tmp=*a; *a=*b; *b=tmp; printf("a=%d,b=%d\n",*a,*b); } int main() { int a,b,c; printf("please input three integers:\n"); scanf("%d,%d,%d", &a,&b,&c); if(a>b)swap(&a,&b); if(a>c) swap(&a,&c); if(b>c) swap(&b,&c); printf("%d %d %d \n",a,b,c); return 0; }
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
料力的意思是什么啊?请解释下!
欺凌的意思是什么?欺凌的释义是什么啊?
pvc40*60楼梯扶手那卖,我在大连,那地方离我
融资功能就是融通资金或调度资金,票据的融资
三品松的意思是什么啊?请解释下!
去乐岛需要注意什么?
双坪村怎么去啊,有事要去办理
出了交通事故说好私了结果跑了怎麼办
关于奶粉口味,甜奶粉和清淡奶粉有什么区别
请问谁有生化危机h欧美彩色漫画?
灵津的意思是什么啊?请解释下!
对于老王这样的不幸者我们应该怎样对待?急急
札翰的意思是什么?札翰的释义是什么啊?
袁记饺子云吞连锁店我想知道这个在什么地方
说蓝天幼儿园怎么样怎么样好啊广告词
推荐资讯
为什么qq音乐评论要让给艺人道歉
三国志11水浒剧本
LED灯珠包装是参数代表些什么?
东吴家村委会地址在什么地方,想过去办事
窑头村委会地址有知道的么?有点事想过去!
机场旁边移动手机网络信号差怎么办
空运的意思是什么?空运的释义是什么啊?
喀什地区救助管理站地址在哪,我要去那里办事
梦网费、信息费都是指哪些费用如何产生的?
警誡的意思是什么?警誡的释义是什么啊?
优童的意思是什么?优童的释义是什么啊?
东南西北,春夏秋冬照样子写词语
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?