
【解题流程图】

【分析问题】
问题要求根据小明购买冰棍的数量计算总价,单价根据数量区间确定:30个及以上为1.0元/个,20-29个为1.2元/个,10-19个为1.5元/个,10个以下为1.8元/个。输入是整数n,输出是总价保留一位小数。需要处理边界情况,如n=0时总价为0.0,并确保区间端点被正确覆盖(例如20和29均属于1.2元区间)。
【建立模型(伪代码)】
读取整数n
如果 n >= 30:
单价 = 1.0
否则如果 n >= 20:
单价 = 1.2
否则如果 n >= 10:
单价 = 1.5
否则:
单价 = 1.8
总价 = n * 单价
输出总价,保留一位小数
【编写代码】
#include <iostream>
#include <iomanip>
using namespace std;
int main() {
int n;
cin >> n;
double price;
if (n >= 30) {
price = 1.0;
} else if (n >= 20) {
price = 1.2;
} else if (n >= 10) {
price = 1.5;
} else {
price = 1.8;
}
double total = n * price;
cout << fixed << setprecision(1) << total << endl;
return 0;
}
【保存编译运行】