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

#include <stdio.h> int main() { float C; int price, num ,count; scanf("%d%d%d",&price,&num,&count); C=num*price*0.01*(100-count); printf("C=%.2f",C); }
这段代码读取三个整数:单价(price)、数量(num)和折扣百分比(count),然后计算打折后的总金额并输出。但计算逻辑可能不符合常见折扣场景。

- 检查折扣计算方式:通常折扣是减去百分比,例如打8折是乘以0.8。你的公式 `num*price*0.01*(100-count)` 中,如果count是折扣百分比(如20表示打8折),那么结果正确;但如果count是折扣后的百分比(如80表示打8折),则公式错误。需要确认输入数据的含义。
- 注意变量类型:`C` 是float,但计算中 `num*price*0.01` 是double类型,结果赋值给float可能丢失精度,但影响不大。更关键的是,如果输入是整数折扣,确保公式与题目要求一致。