#53515: C++程式詳解


yp11451295@yphs.tp.edu.tw (hello)

學校 : 不指定學校
編號 : 312799
來源 : [203.72.178.1]
最後登入時間 :
2025-10-02 17:42:33

程式,下面是詳解
#include<iostream>
using namespace std;
int main(){
int t,c1,c2,c3,coutc;  //t=time,c=cost
cin>>t;
c1=t*3;
 
if((t-300)*3>0){
c2=299+(t-300)*3;
}
else{
c2=299;
}
 
if((t-750)*3>0){
c3=699+(t-750)*3;
}
else{
c3=699;
}
 
if(c1>c2){
if(c2>c3) coutc=c3;
else coutc=c2;
}
else{
if(c1>c3)  coutc=c3;
else coutc=c1;
}
 
cout<<coutc<<endl;
 
}

 

程式碼解釋


int t, c1, c2, c3, coutc;
宣告四個整數變數:t 用來儲存輸入時間,c1, c2, c3 用來儲存三種不同計算方式得出的費用,coutc 用來儲存最終的最低費用。 
cin >> t;
從使用者輸入中讀取一個整數並將其儲存到變數 t 中。 


c1 = t * 3;
c1 的計算方式是將輸入時間 t 乘以 3。 
if ((t - 300) * 3 > 0):


c2 的計算邏輯:
如果時間 t 大於300 分鐘(t-300 大於0),則 c2 的計算方式是299 加上 t-300 乘以3 的結果。 
否則(t 小於或等於300 分鐘),c2 的值固定為299。 
結論:: 這個邏輯表示前300 分鐘的費用是299 元,之後每分鐘3 元。 
if ((t - 750) * 3 > 0):


c3 的計算邏輯:
如果時間 t 大於750 分鐘(t-750 大於0),則 c3 的計算方式是699 加上 t-750 乘以3 的結果。 
否則(t 小於或等於750 分鐘),c3 的值固定為699。 
結論:: 這個邏輯表示前750 分鐘的費用是699 元,之後每分鐘3 元。 


if (c1 > c2):
這段嵌套的 if-else 結構用於找出三個費用中的最小值。 
它會先比較 c1 和 c2,然後根據比較結果進一步比較 c1、c2 和 c3,最終將最小的費用賦值給 coutc。 
cout << coutc << endl;
將計算出的最低費用 coutc 輸出到螢幕上,並在結尾加上換行符。