例6:C语言实现输入两个实数,按照数值由小到大的顺序输出这两个数。
解题思路:这道题目的逻辑很简单,只要做一次比较,然后进行交换即可。
源代码演示:
#include<stdio.h>//头文件
int main() //主函数
{
float num1,num2;//定义浮点型变量
printf("请输入输入2个实数:");
scanf("%f,%f",&num1,&num2);//键盘输入输入两个数,注意两个%f之间的逗号
float temp; //定义中间变量
if(num1>num2) //判断条件,如果num1大于num2,就交换数值
{
temp=num1;
num1=num2;
num2=temp;
}
printf("%.2f,%.2f\n",num1,num2);//输出.2的意思是,保留到小数点后两位
return 0;
}
编译结果:
请输入输入2个实数:2.3,2.1
2.10,2.30
--------------------------------
Process exited after 9.335 seconds with return value 0
请按任意键继续. . .
在上述代码中哦可以看出,为了将num1和num2对换,借助了中间变量temp。
读者如果不理解的话可以这样想,将A和B两个杯子里面的水互换,用两个杯子倒来倒去是不可能实现的,必须借助第三个杯子。这就是程序中实现两变量换值的算法。
有一点读者需要额外注意下,就是这行代码:
scanf("%f,%f",&num1,&num2);
两个%f之间我写的是英文逗号,因此在键盘输入时也要输入英文逗号,如果键盘输入中文逗号,结果如下:
请输入输入2个实数:2.3,2.1
-0.00,2.30
--------------------------------
Process exited after 5.91 seconds with return value 0
请按任意键继续. . .
正文完