任意输出3个数字 按从小到大排序输出 C语言

#include<stdio.h>
void main()
{
float a,b,c,t;
printf("input 3 number:\n");
scanf("%f%f%f",&a,&b,&c);

if(a>b)
t=a;
a=b;
b=t;

if(a>c)
t=a;
a=c;
c=t;

if(b>c)
b=t;
t=c;
c=t;

printf("the 3 number =%f %f %f",a,b,c);
}

经过检查没有错误
但是你运行的时候你随便输入3个数字
第二个和第三个是一样的
没有按计划输出3个不一样的 并且从小到大排序的数字
请高手帮忙 谢谢
各位 拜托测试下再给我行吗??

我用的这个是VC++6.0

加不加{}都可以的~~~~

主要不是这个问题啊!!!!

大家随便填几个数运行一下就知道了~~~~

还是没有正确

思路:三个数从小到大排序可以求出三个数中的最大数和最小数,三个数的和减去最大数和最小数,差就是中间数,三个数的最值可以使用三目运算符。

参考代码:

#include<math.h>
#include<stdio.h>
int main()
{
float a,b,c,max,min; 
printf("input 3 number:\n"); 
scanf("%f%f%f",&a,&b,&c); 
max=(a>b?a:b)>c?(a>b?a:b):c;
min=(a<b?a:b)<c?(a<b?a:b):c;
printf("output 3 number =  %.2f %.2f %.2f",min,a+b+c-min-max,max); 
return 0;
}
/*
输出: 
input 3 number:
12.5 98.6 0.56
output 3 number =  0.56 12.50 98.60
*/
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-10-14
#include<stdio.h>
void main()
{
float a,b,c,t;
printf("input 3 number:\n");
scanf("%f,%f,%f",&a,&b,&c);
if(a>b)
{
t=a;
a=b;
b=t;
}
if(a>c)
{
t=a;
a=c;
c=t;
}
if(b>c)
{
t=b;
b=c;
c=t;
}
printf("the 3 number = %.3f %.3f %.3f",a,b,c);
}本回答被提问者采纳
第2个回答  2008-09-10
#include<stdio.h>
void main()
{
float a,b,c,t;
printf("input 3 number:\n");
scanf("%f%f%f",&a,&b,&c);

if(a>b)
{//加入括号
t=a;
a=b;
b=t;
}//加入括号
if(a>c)
{//加入括号
t=a;
a=c;
c=t;
}//加入括号
if(b>c)
{ //加入括号
b=t;
t=c;
c=t;
}//加入括号

printf("the 3 number =%f %f %f",a,b,c);
}
第3个回答  2008-09-10
改为如下,注意,这个程序中的if语句的执行语句必须用大括号括起来:

#include<stdio.h>
void main()
{
float a,b,c,t;
printf("input 3 number:\n");
scanf("%f%f%f",&a,&b,&c);

if(a>b)
{
t=a;
a=b;
b=t;
}
if(a>c)
{
t=a;
a=c;
c=t;
}
if(b>c)
{
b=t;
t=c;
c=t;
}
printf("the 3 number =%f %f %f",a,b,c);
}
第4个回答  2008-09-10
第三个if语句错了吧,it should be
if(b>c)
{
t=b;
b=c;
c=t;
}

任意输出3个数字 按从小到大排序输出 C语言
C语言大小字母输出

c语言编写从小到大输出三个数字
{ inta,b,c,t;printf("请输入三个数:");scanf("%d%d%d",&a,&b,&c);if(a>b){ t=a;a=b;b=t;} if(a>c){ t=a;a=c;c=t;} if(b>c){ t=b;b=c;c=t;} printf("从小到大的顺序是:%d %d %d\\n",a,b,c);return0;} ...

求C语言编程,要求输入任意三个数,按从小到大的顺序输出。
main(void)\/\/main函数程序的入口 { int num1,num2,num3,temp;\/\/定义变量存放三个数值和临时变量 printf("please input three numbers");\/\/显示"please input three numbers"scanf("%d,%d,%d",&num1,&num2,&num3);\/\/输入三个数字 if(num1>num2){temp=num1,num1=num2,num2=temp}\/\/...

C语言输入三个整数并由小到大输出
01 首先打开Visual Studio,新建一个C语言的控制台应用程序,附加选项中选择空项目,如下图所示 02 然后在源文件菜单下面新建一个C语言文件,如下图所示 03 打开新建的test.cpp文件,在头部引入命名空间,然后在主函数中

C语言:::.对于输入的任意三个整数,将它们按从小到大的顺序输出。
include <stdio.h> main(){int a, b, c;scanf("%d", &a);scanf("%d", &b);scanf("%d", &c);printf("\\n%d",(a>b?(a>c?a:c):(b>c?b:c)));getch();} 这样就简单,而且高效

C语言中从键盘上输入三个数,将之排序后按由大到小的顺序输出
int main(void){int a,b,c,t;printf("请输入三个数");scanf("%d%d%d",&a,&b,&c);if(a<b){t=a;a=b;b=t;} if(b<c){t=b;b=c;c=t;} if(a

C语言题 输入三个数,分别按照从小到大和从大到小的的顺序输出
int main(){ int t,a,b,c;scanf("%d%d%d",&a,&b,&c);if(a<b){ t=a,a=b,b=t;} if(a<c){ t=a,a=c,c=t;} if(b<c){ t=b, b=c, c=t;} printf("%d %d %d\\n",a,b,c);return 0;} 原理就是运用冒泡算法,把最大的数浮在最上面,而小的数就下沉,...

c语言 怎么把3个数字按大小顺序排列
计算本身没问题,输出从小到大排列,也没问题。只是 < 号,有时应当是等于号。可以这样输出:printf("%.2f",e);if (f==e)printf("= .2f",f);else printf("< .2f",f);if (g==f)printf("= .2f",g);else printf("< .2f",g);...

C语言的编程题:输入三个整数,按从大到小的顺序输出
include <stdio.h> main(){ int x,y,z,t;scanf("%d%d%d",&x,&y,&z);if (x<y){t=x;x=y;y=t;} if(x<z){t=z;z=x;x=t;} if(y<z){t=y;y=z;z=t;} printf("%d %d %d\\n",x,y,z);}

c语言设计 输入三个数字 然后依次从小到大输出 用if-else
include<stdio.h> void main(){ int a,b,c,t,max;scanf("%d,%d,%d",&a,&b,&c);if(a>b) t=a;else t=b;if(c>t) max=c;else max=t;printf("三个数中最大的数是%d\\n",max);}

相似回答