解題思路:這道題目的邏輯很簡單,只要做一次比較,然後進行交換即可。
原始碼演示:
#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.12.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請按任意鍵繼續. . .
最新評論