1.话费充值
题目:
某通讯公司包月套餐如下:
套餐 包月金额 套餐信息
1 28 200分钟
2 48 500分钟
3 68 800分钟
另有预存话费活动:存200元打300元(注:存200元打300元意思交200元现金计费系统自动当成存入300元),存300元打500元,存500打800。用户超出套餐使用量,每分钟0.25元。
要求:
输入套餐编号,当月实际通话时长和预存话费,求该用户当月剩余话费
(注意:用户输入错误的套餐编号、通话时长或预存话费则报错Error)。
输入格式 (依次为套餐编号,当月实际通话时长和预存话费):
“%d,%d,%d”
输出格式:
“Error”
“remainder=%.2f”
输入:
2,1000,200
输出
remainder=127.00
输入:
4,2134,100
输出
Error
程序:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a,b,c,d,e;
float f;
scanf("%d,%d,%d",&a,&b,&c);
if ((a!=1&&a!=2&&a!=3)||(c!=200&&c!=300&&c!=500))
{
printf("Error");
return 0;
}
switch(a)
{
case 1:d=28,e=200;
break;
case 2:d=48,e=500;
break;
case 3:d=68,e=800;
break;
}
if (c==200)
{
c=300;
}
else if (c==300)
{
c=500;
}
else if (c==500)
{
c=800;
}
if (b<=e)
{
f=c-d;
}
else if (b>e)
{
f=c-d-(b-e)*0.25;
}
printf("remainder=%.2f",f);
return 0;
}