c语言,输入三个不同的数字,按从从大到小输出
发布时间:2025-05-13 02:44:16 发布人:远客网络
一、c语言,输入三个不同的数字,按从从大到小输出
1、参考2楼,修改两个语法错误:scanf("%d,%d,d%",&x,&y,&z);应该是:scanf("%d,%d,%d",&x,&y,&z);输出语句:printf("输入的三个数字由大到小排列为:%d,%d,%d",z,y,x);2、算法太乱,应该先对x,y,z排序,排序的算法是两两相比较,如果前者大就交换,最后得到x,y,z是从小到大,输出时反序z,y,x就行了,简洁完整并通过了调试的代码如下:#include<stdio.h>
printf("请输入三个不同的数字,每输入一个数字用逗号隔开\n");
printf("输入的三个数字由大到小排列为:%d,%d,%d",z,y,x);
二、c语言3个数比大小,顺序输出
{float a,b,c,t;//声明部份,定义变量,浮点
printf("Enter a,b,c:");//接收屏幕格式输入
scanf("%f,%f,%f",&a,&b,&c);//输入变量a、b、c的值
if(a<b){t=a;a=b;b=t;}//比较a和b的值,如果a<b,则a和b的值互换
if(a<c){t=a;a=c;c=t;}//比较a和c的值,如果a<c,则a和c的值互换
if(b<c){t=b;b=c;c=t;}//比较b和c的值,如果b<c,则b和c的值互换
printf("%5.2f\n%5.2f\n%5.2f\n",a,b,c);//输出a、b、c的值
======================================================
本例程是输入3个数字,再按大到小排序
当a<b时,则中间变量t=a,再将b的值赋给a,再将t的值赋给a
这样就完成了一个a和b的值互换。
printf("%5.2f\n%5.2f\n%5.2f\n",a,b,c);
其中%5.2f是指输入格式按_____.__输入出浮点格式的数。
三、c语言三个数排列
程序的功能是三个数里面两两比较,从小到达一次排序。
例如:输入3,2,1(a= 3,b=2,c= 1)
比较a和b的大小,明显a>b,所以利用中间变量t保存a,将b的值赋给a,再将中间变量t的值赋给b,执行过程是{t=a(3);a= b(2);b= t(3)},所以此时a=2,b=3,c=1.
比较b和c的大小,明显b>c,将b和c的值调换,{t=b(3);b= c(1);c= t(3),此时a=2,b=1,c=3.
再次比较a和b的大小,明显a>b,将a和b的值调换,{t=a(2);a= b(1);b= t(2)},此时a=1,b=2,c=3.
然后一次打印a,b,c的值:printf("从小到大:%d%d%d",a,b,c);