C语言中怎么把三个整数从小到大排列

Python07

C语言中怎么把三个整数从小到大排列,第1张

原理就是运用冒泡算法,把最大的数浮在最上面,而小的数就下沉,最后就输出。方法如下:分析:我们想办法把最小的数放到x上,先将x与y进行比较,如果x>y则将x与y的值进行交换, 然后再用x与z进行比较,如果x>z则将x与z的值进行交换,这样能使x最小。1.从控制台读入三个数;2.实现三个数从小到大排序:(1)将第一个数作为最小数,依次和第二,三个数进行比较。两次比较重如果有任意一个比第一个小,则将两个数交换;(2)在(1)步后,得到第一个数为最小数。再将第二个数与第三个数比较大小后即可实现三个数从小到大排序。拓展资料两种常用排序方法:1.选择排序法:从一列数中,选择第一个作为最小数,依次和后面的数进行比较。如有比第一个数小的数,则交换两个数。最后排到该列数都倒数第二个时,这列数就从小到大排好了顺序。2.冒泡排序法:思路与选择排序法一致。不同的是,冒泡排序将第一个作为最大数,然后再和该数后的数进行比较。

c-free下编译通过,已优化!

#include

"stdio.h"

void

fun(int

m)

{

int

i,j=0

for(i=2i<=mi++)

{

while(m%i==0)

{

j++

if(j==1)

printf("=%d",i)

else

printf("*%d",i)

m=m/i

}

}

}

int

main()

{

int

i,j,k,t,num[4],s[100],temp

printf("按从大到小顺序输入4个不同的整数(1~9):\n")

scanf("%d%d%d%d",&num[0],&num[1],&num[2],&num[3])

for(i=0i<4i++)

for(j=0j<4j++)

for

(k=0k<4k++)

{

if

(num[i]!=num[k]&&num[i]!=num[j]&&num[j]!=num[k])

{

printf("%d%d%d",num[i],num[j],num[k])

temp=100*num[i]+10*num[j]+num[k]

fun(temp)

printf("\n")

}

}

}

用C语言编写通过if将3个数排序:

#include<stdio.h>/*函数头:输入输出头文件*/

void main()/*空类型:主函数*/

{

inta,b,c,t/*定义变量的数据类型为整型*/

printf("输入3个数,中间用空格隔开:")/*输出文字提示*/

scanf("%d%d%d",&a,&b,&c)/*输入3个数字*/

if(a<b)/*判断a是否小于b*/

{t=aa=bb=t}/*是,则a、b的值互换*/

if(a<c)/*判断a是否小于c*/

{t=aa=cc=t}/*是,则a、c的值互换*/

if(b<c)/*判断b是否小于c*/

{t=bb=cc=t}/*是,则b、c的值互换*/

printf("从小到大:%d,%d,%d\n",c,b,a)/*输出从小到大排列的数*/

printf("从大到小:%d,%d,%d\n",a,b,c)/*输出从大到小排列的数*/

}

扩展资料

输入三个数,比较其大小,并从大到小输出。

#include<stdio.h>

int main(){

inta,b,c

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

if(a<b){

intflag=a

a=b

b=flag

}

if(a<c){

intflag=a

a=c

c=flag

}

if(b<c){

intflag=b

b=c

c=flag

}

printf("%d%d%d",a,b,c)

}