老师平时布置的希冀系统上的作业答案,仅供参考!
【问题描述】
编写一个程序,将输入的三个数从小到大排列出来。
【输入形式】
用户在第一行输入三个数字,每个数字用空格分开。
【输出形式】
程序在下一行按照从小到大的顺序将三个数字输出出来,每个数字也用空格分开。要求程序可以处理整数和浮点数两种输入情况的比较。
【样例输入】
2.4 5.6 1.5
【样例输出】
1.5#2.4#5.6 #表示空格(要求输出时输出空格,而不是输出#,这里#只是表示空格而已!)
【样例说明】
输入3个数字,每个数字之间用空格分开,并且进行从小到大排列,最后进行输出。这里的数字可以是整数,也可以是浮点数。
提示:输入时以%f格式读入到float类型的变量中,排完序以后,输出时以%g格式输出即可。
【参考答案】
#include<stdio.h>
#include<math.h>
float max(float a, float b);
float min(float a, float b);
int main()
{
float a,b,c;
scanf("%f %f %f",&a,&b,&c);
float s[3];
s[0]=max(a,max(b,c));
s[2]=min(a,min(b,c));
if(a>s[2]&&a<s[0])
s[1]=a;
if(b>s[2]&&b<s[0])
s[1]=b;
if(c>s[2]&&c<s[0])
s[1]=c;
printf("%g %g %g",s[2],s[1],s[0]);
}
float max(float a, float b)
{
if(a>b)
return a;
if(a<b)
return b;
}
float min(float a, float b)
{
if(a>b)
return b;
if(a<b)
return a;
}
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容