在线编译器 C

#include <stdio.h> int main() { int price,items,discount; float total_price,total_discount; scanf("%d%d%d",&price,&items,&discount); total_price=price*items; total_discount=(price/100)*discount; total_price=total_price-total_discount; printf("C=%.2f\n",total_price); return 0; }
这段代码的功能是:读取商品单价、数量和折扣百分比,计算总价并减去折扣,最后输出结果。但折扣计算方式有误。

- 折扣计算时,`price/100` 是整数除法,会丢失小数部分。例如 price=199 时,`199/100` 结果是1,而不是1.99。
- 折扣应该基于总价计算,而不是单价。当前代码用单价乘以折扣百分比,逻辑不对。

提示:
- 考虑将折扣计算改为基于总价,并确保除法使用浮点数。
- 注意整数除法的特性,可以先将其中一个操作数转为浮点数。