用C语言编写通过if将3个数排序:
创新互联公司从2013年成立,是专业互联网技术服务公司,拥有项目成都网站制作、网站建设、外贸网站建设网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元连山做网站,已为上家服务,为连山各地企业和个人服务,联系电话:18980820575
#includestdio.h/*函数头:输入输出头文件*/
void main()/*空类型:主函数*/
{
inta,b,c,t;/*定义变量的数据类型为整型*/
printf("输入3个数,中间用空格隔开:");/*输出文字提示*/
scanf("%d%d%d",a,b,c);/*输入3个数字*/
if(ab)/*判断a是否小于b*/
{t=a;a=b;b=t;}/*是,则a、b的值互换*/
if(ac)/*判断a是否小于c*/
{t=a;a=c;c=t;}/*是,则a、c的值互换*/
if(bc)/*判断b是否小于c*/
{t=b;b=c;c=t;}/*是,则b、c的值互换*/
printf("从小到大:%d,%d,%d\n",c,b,a);/*输出从小到大排列的数*/
printf("从大到小:%d,%d,%d\n",a,b,c);/*输出从大到小排列的数*/
}
扩展资料
输入三个数,比较其大小,并从大到小输出。
#includestdio.h
int main(){
inta,b,c;
scanf("%d%d%d",a,b,c);
if(ab){
intflag=a;
a=b;
b=flag;
}
if(ac){
intflag=a;
a=c;
c=flag;
}
if(bc){
intflag=b;
b=c;
c=flag;
}
printf("%d%d%d",a,b,c);
}
原理就是运用冒泡算法,把最大的数浮在最上面,而小的数就下沉,最后就输出。
方法如下:
分析:我们想办法把最小的数放到x上,先将x与y进行比较,如果xy则将x与y的值进行交换,
然后再用x与z进行比较,如果xz则将x与z的值进行交换,这样能使x最小。
1.从控制台读入三个数;
2.实现三个数从小到大排序:
(1)将第一个数作为最小数,依次和第二,三个数进行比较。两次比较重如果有任意一个比第一个小,则将两个数交换
;
(2)在(1)步后,得到第一个数为最小数。再将第二个数与第三个数比较大小后即可实现三个数从小到大排序。
拓展资料
两种常用排序方法:
1.选择排序法:从一列数中,选择第一个作为最小数,依次和后面的数进行比较。如有比第一个数小的数,则交换两个数。最后排到该列数都倒数第二个时,这列数就从小到大排好了顺序。
2.冒泡排序法:思路与选择排序法一致。不同的是,冒泡排序将第一个作为最大数,然后再和该数后的数进行比较。
一:全局变量
#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;
}