在线编译器 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=(total_price/100)*discount; total_price=total_price-total_discount; printf("C=%.2f\n",total_price); return 0; }
这段代码的功能是:输入商品单价、数量和折扣百分比,计算并输出折扣后的总价。程序先计算原总价,再根据折扣百分比计算折扣金额,最后输出减去折扣后的价格。

- 代码中 `total_discount=(total_price/100)*discount` 这一行,当 `total_price` 和 `discount` 都是整数时,`total_price/100` 会进行整数除法,导致小数部分丢失。例如 `total_price=199` 时,`199/100` 的结果是 `1` 而不是 `1.99`,这会使折扣计算不准确。考虑如何让除法得到精确的小数结果。

- 变量 `price`、`items`、`discount` 都是整数类型,但折扣百分比可能不是整数(比如 12.5%)。如果题目允许非整数折扣,需要调整这些变量的类型。