跪求高手帮忙用MATLAB做下这道题

来源:百度知道 编辑:UC知道 时间:2024/06/21 14:57:19
题目如下:
通话收费问题
某地区电话收费标准为:
通话时间在3分钟以下,收费0.5元
3分钟以上,每超过去时分钟加收0.15元
在7:00--21:00之间的通话者,按上述收费标准全价收费;在其它时间通话者,按上述要求收费标准半价收费.
计算基本人在t1时间通话至t2时间,应缴多少电话费
按上述收费标准全价收费,就是那段时间内按半价收费啦。希望高手写出来个能运行的.不考虑跨0点的情况

function [money]=telephone(t1,t2)

%[money]=telephone(t1,t2)
%money 是需付的钱, t1是开始时间,t2是结束时间
%另外,请采用小数点代替冒号,如8:30请写为8.30
if t2-t1<0
t2=t2+24;
else
t2=t2;
end
%以上,特殊情况我只考虑了一种,即前一天晚上打电话到第二天早晨,其他
%的特殊情况,比如一打好几天的那种,没有考虑
hour1=floor(t1);
minute1=(t1-floor(t1))*100;
time1=hour1*60+minute1;
hour2=floor(t2);
minute2=(t2-floor(t2))*100;
time2=hour2*60+minute2;
%以上是时刻到时间的转换
originmoney=0;%这个是未打折前的价格
if time2-time1<=3
originmoney=0.5;
else
originmoney=0.5+(time2-time1-3)*0.15;
end
%开始计算打折的情况
if t1>7&t2<21
money=originmoney;
else
money=originmoney/2;
end

最后说一下,那句“在其它时间通话者,按上述要求收费标准半价收费”我不太懂什么意思,所以没有像“猪比天下”那样细分那么多情况,如果需要细分,你可以试着改动一下,我写的这个就算是抛砖引玉了。

分两部分
当t1到t2的 时间设为T
当 7《=T《=21时
钱数为¥=0.5*3+(T-3)*0.15
当 T>21 或 T<7时
钱数¥/2

(1)当t2-t1<=3
s=0.5
(2)