三个数排序用函数写c语言 三个数排序用函数写c语言怎么写

如何用函数实现三个数的排序(用的是C语言)

一:全局变量

创新互联2013年至今,先为丹阳等服务建站,丹阳等地企业,进行企业商务咨询服务。为丹阳企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。

#include stdio.h

int a,b,c;  //定义三个全局变量

void sort()  //不需要参数

{

int t;

if(ab)

{

t=a;a=b;b=t;

}

if(bc)

{

t=b;b=c;c=t;

}

if(ab)

{

t=a;a=b;b=t;

}

}

int main()

{

printf("输入:");

scanf("%d%d%d",a,b,c);

sort();

printf("排序:%d  %d  %d\n",a,b,c);

return 0;

}

二:指针

#include stdio.h

void sort(int *a, int *b, int *c) //参数传递方式:地址传递

int t;

if(*a*b) 

{

t=*a;*a=*b;*b=t;

}

if(*b*c)

{

t=*b;*b=*c;*c=t;

}

if(*a*b) 

{

t=*a;*a=*b;*b=t;

}

}

int main()

{

int a,b,c;

printf("输入:");

scanf("%d%d%d",a,b,c);

sort(a,b,c);               //把地址作为参数

printf("排序:%d  %d  %d\n",a,b,c);

return 0;

}

C语言中将三个数字进行排序的几种写法

方法1:用3个变量存放3个数字,按从大到小的顺序排:

int a,b,c,tmp;

printf("请输入3个数字:");

scanf("%d%d%d",a,b,c);

if(ab)//如果a比b小,交换a和b的值,使a存放大的数字

{

tmp=a;

a=b;

b=tmp;

}

if(ac)//如果a比c小,交换a和c的值,使a存放大的数字

{

tmp=a;

a=c;

c=tmp;

}

if(bc)//如果b比c小,交换b和c的值,使b存放大的数字

{

tmp=b;

b=c;

c=tmp;

}

printf("按照从大到小的顺序为:%d,%d,%d\n",a,b,c);

方法2:用数组存放3个变量,用冒泡排序的方法进行排序

int i=0,j=0,tmp=0,a[3];

printf("请输入3个数字:");

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

scanf("%d",a[i]);

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

for(j=0;j2-i;j++)

if(a[i]a[i+1])//按照从大到小排列

{

tmp=a[i];

a[i]=a[i+1];

a[i+1]=tmp;

}

printf("按照从大到小的顺序为:");

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

printf("%d  ",a[i]);

printf("\n");

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

#includestdio.h

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;

}

新闻名称:三个数排序用函数写c语言 三个数排序用函数写c语言怎么写
网址分享:https://www.cdcxhl.com/article16/ddshcgg.html

成都网站建设公司_创新互联,为您提供Google定制网站动态网站做网站静态网站网站制作

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

微信小程序开发