此编程练习旨在通过C/C++实现一个简单的排序功能。程序需接收三个由用户通过键盘输入的实数(记作a, b, c),经过适当的比较和交换操作,确保这三数值能够按升序排列。最终,程序应输出这三个数值,其中最小值位于首位,最大值位于末位,每个数值之间以空格分隔,且每个数值保留两位小数。
输入部分非常直接,仅包含一行,即三个用空格分隔的实数。这些数值代表待排序的原始数据。
输出也相对简单,同样是一行内容,但此时的三个实数已经按照从小到大的顺序进行了排列。每个数值间以单个空格分隔,数值输出时需精确到小数点后两位。此外,输出行末需要有一个换行符。
3 7 1
1.00 3.00 7.00
#include
int main() {
double a, b, c, temp;
// 读取输入
scanf("%lf %lf %lf", &a, &b, &c);
// 第一步,确保a <= b
if (a > b) {
temp = a; a = b; b = temp;
}
// 第二步,确保b <= c
if (b > c) {
temp = b; b = c; c = temp;
// 确保a <= b
if (a > b) {
temp = a; a = b; b = temp;
}
}
// 输出结果
printf("%.2f %.2f %.2f\n", a, b, c);
return 0;
}