思路:
零食编号与数组下标一一对应
,由于最大编号为5,所以得创建长度为6的数组。注意C和C++写法对小数的处理方式。
C++用C的写法(性能可以稍微快点)
#include <cstdio>
int main() {
int x, y;
double price[6] = {0, 4, 4.5, 5, 2, 1.5};
scanf("%d %d", &x, &y);
printf("Total: R$ %.2f", price[x] * y);
return 0;
}
纯C++
#include <iostream>
#include <iomanip>
using namespace std;
int main() {
int x, y;
double price[6] = {0, 4, 4.5, 5, 2, 1.5};
cin >> x >> y;
cout << "Total: R$ " << fixed << setprecision(2) << price[x] * y;
return 0;
}
可以直接添price[x-1]就可以避免在list里加一个0
是的
你这样的话会比price(6)慢一点
cout那个为什么要加fixed
fixed << setprecision(2)保留两位小数
想问下,为啥price后面为啥是6嘞?而且后面还要加一个0?
零食一共五种,编号1~5。6是数组长度,因为没有零食编号是0,所以第0号零食价格为0.
嗷,谢谢谢谢!!!
能简化一下吗
指的是哪一部分的需要简化?
浮点数和整数可以直接相乘吗
可以的,相乘结果也是浮点数。
浮点数和整数相乘的话,整数会转换为浮点数,这里涉及到隐式类型转换,也就是低精度的类型会转换位高精度的类型
厉害