Онлайн компилятор C

#include <stdio.h> int main() { int price,items,discount; float total_price,total_discount; scanf("%d%d%d",&price,&items,&discount); total_price = items * discount; total_discount = (total_price/100) * discount; total_price = total_price - total_discount; printf("C=%d",total_price); return 0 }
这段代码试图计算商品总价并应用折扣,但存在几个逻辑错误。

- 你计算 `total_price` 时用了 `items * discount`,但 `discount` 是折扣率(比如20%),应该乘以单价 `price` 而不是折扣本身。
- 计算折扣金额时,你用了 `total_price / 100 * discount`,但此时 `total_price` 已经是错误的值,而且折扣率应该除以100再乘以原价。
- 最后输出时用了 `%d` 但 `total_price` 是 `float` 类型,会导致输出错误。