2013年1月22日 星期二

程式設計---c++

費氏數列:

#include<iostream>
#include<cstdlib>
using namespace std;
main()
{
   int i,x[40];
   x[0]=1;
   x[1]=1;
   cout<<"1,1,";
   for(i=2;i<40;i++)
   {
          x[i]=x[i-2]+x[i-1];
          cout<<x[i]<<",";
   }
   system("pause");
}

台中女中解題系統c002:停車費

某一停車場的停車費率規則如下:
1) 前 30 分(含)鐘免費。
2) 停車 31 ~ 60 分鐘 30 元。
3) 停車 61 ~ 120 分鐘 60 元。
4) 接下來每一小時增加 30 元,例如 121~ 180 分鐘 90 元、 181~ 240 分鐘 120 元,以此類推。
每日停車費最高為 210 元,
例如停了 11 小時又 30 分鐘,原本應該是收費 30×12=360,但只要收 210 元就好。
如果給你一台車子進入停車場的時間和離開的時間,請設計一個程式能算出他要繳多少的停車費!
輸入四個整數 H1、M1、H2、M2 (0<=H1、H2<=23,0<=M1、M2<=59),H1:M1 代表車子進場的時間,
H2:M2 代表車子出場的時間,而且出場時間一定在進場時間之後(不用考慮跨日的情形)。
例如輸入7 10 7 30,則輸出0
輸入8 10 9 20,則輸出60


#include<iostream>
#include<cstdlib>
using namespace std;
main()
{
int H1,M1,H2,M2,t,price;//(0<=H1、H2<=23,0<=M1、M2<=59)
cout<<"H1:M1 代表車子進場的時間,H2:M2代表車子出場的時間\n";
cout<<"請輸入 H1,M1,H2,M2\n";
cin>>H1>>M1>>H2>>M2;
t=(H2*60+M2)-(H1*60+M1);
if(t<=30)
price=0;
else if(t<=60)
price=30;
else if(t<=120)
price=60;
else if(t>120)
price=60+t/60*30+t%60/30*30;
if(price>210)
price=210;
cout<<price;
}

沒有留言:

張貼留言