c++习题解答

来源:百度知道 编辑:UC知道 时间:2024/05/15 07:49:02
题目 计算话费
条件 8 00到23 00 前3分钟0.2元每分钟 以后0.1元每分钟
23 00到次日8 00 前3分钟0.1元每分钟 以后00.5元每分钟

请高手帮我检查我的答案是否正确
#include<iostream.h>
double main()
{
double a,b,c;
cout<<"请输入通话时长(单位为分钟)"<<endl;
cin>>a;
cout<<"请输入通话时间"<<endl;
cin>>b;
a=int(a+1);
if(b<0||b>=24||a<=1)
cout<<"输入有误"<<endl;
else
{if(b<23&&b>=8)
{
if(a<=3) c=a*0.2;
else c=(a-3)*0.1+0.2*3;
}
else
{
if(a<=3) c=a*0.1;
else c=(a-3)*0.05+0.1*3;
}
cout<<"话费为:"<<c<<"元"<<endl;
}
return 0;

}
如果不正确,请帮忙修改 谢谢

不正确,没有考虑通话跨时间段,比如从7点打到9点这种情况。
本来想给你修改下代码,后来想如果他这个电话打了好几天甚至好几个月,跨了n次,太麻烦,头都想大了。。。

就这样写可以了,如果象楼上那位考虑那么多的话,就不符合出题人的初衷了.