输入三个数(包括整数与浮点数),按由小到大的顺序输出。若输入为整数,则按整数输出;若输出为浮点数,则输出为浮点数,且保留小数点后2位。(请使用参数为指针的函数来完成!!!)
关于输入
输入为三个数,逗号隔开。
关于输出
输出为按由小到大顺序排列的数,用逗号隔开。
例子输入
25,48,37
例子输出
25,37,48
提示
无。
#include<stdio.h>
void sort(float a,float b,float c){
if(a<=b && a<=c){
//a最小,输出
printf("%g,",a);
if(b<=c){
printf("%g,%g",b,c);
}
else{
printf("%g,%g",c,b);
}
}
if(b<=a && b<=c){
//a最小,输出
printf("%g,",b);
if(a<=c){
printf("%g,%g",a,c);
}
else{
printf("%g,%g",c,a);
}
}
if(c<=b && c<=a){
//a最小,输出
printf("%g,",c);
if(b<=a){
printf("%g,%g",b,a);
}
else{
printf("%g,%g",a,b);
}
}
}
int main(){
//输入三个数(包括整数与浮点数)
float firstNumber=0,secendNumber=0,thirdNumber=0;
scanf("%f,%f,%f",&firstNumber,&secendNumber,&thirdNumber);
sort(firstNumber,secendNumber,thirdNumber);
return 0;
}
利用C++重载函数机制可定义以下两个函数
void sort(int a,int b,int c); //实现整数的排序和输出
void sort(double x,double y,double z); //实现浮点数的排序和输出
/关于浮点数保留小数点后两位的设置,可采用cout<<setiosflags(ios::fixed) << setprecision(2)<<+所要输出的变量/
主函数部分
int main(); //主函数定义三个变量,以及对应的三个指针,比如整型:int a; *p1 = &a;定义三个,浮点型类似,调用两个函数即可。
望采纳!
#include<stdio.h>
void change(double* n1, double* n2)
{
double temp = *n1;
*n1 = *n2;
*n2 = temp;
}
int main()
{
double a, b, c;
scanf("%lf,%lf,%lf", &a, &b, &c);
if (a > b)
{
change(&a, &b);
}
if (a > c)
{
change(&a, &c);
}
if (b > c)
{
change(&b, &c);
}
if (a - (int)a > 0)
printf("%.2f,", a);
else
printf("%d,", (int)a);
if (b - (int)b > 0)
printf("%.2f,", b);
else
printf("%d,", (int)b);
if (c - (int)c > 0)
printf("%.2f", c);
else
printf("%d", (int)c);
return 0;
}