冷饮的价格
题目描述
小明夏天去买冰棍,老板说买30个及以上1元/个, 2029个1.2元/个,1019个1.5元/个,10个以下1.8元/个!请从键盘读入小明买冰棍的数量,计算小明应该付的价格(价格保留1位小数)!
输入
一个整数n代表小明购买的冰棍的数量
输出
小明应付的金额
样例输入
30
样例输出
30.0
样例输入
20
样例输出
24.0
AC代码如下:
#include<iostream>
#include<cstdio>
using namespace std;
int main(){
double n,ans;
cin>>n;
if(n>=30)ans=n;
else if(n>=20&&n<=29)ans=n*1.2;
else if(n>=10&&n<=19)ans=n*1.5;
else ans=n*1.8;
printf("%.1f",ans);
}
优化代码如下:
#include<cstdio>
using namespace std;
double ans;
long long n;
int main(){
scanf ( " %lld" , &n ) ;
if (n >= 30) ans = n ;
else if (n >= 20 && n <= 29 ) ans = n * 1.2 ;
else if (n >= 10 && n <= 19 ) ans = n * 1.5 ;
else ans = n * 1.8 ;
printf ( "%.1f " , ans ) ;
}