以下是用 C 语言实现的代码: ```c #include <stdio.h> int main() { double amount; double payment; printf("请输入购物额:"); scanf("%lf", &amount); while (amount >= 0) { if (amount >= 1000) { payment = amount * 0.8; } else if (amount >= 500 && amount < 1000) { payment = amount * 0.9; } else if (amount >= 200 && amount < 500) { payment = amount * 0.95; } else if (amount < 200) { payment = amount * 0.97; } printf("应收款额为:%.2lf\n", payment); printf("请输入购物额:"); scanf("%lf", &amount); } if (amount < 0) { printf("输入有误,请重新输入!\n"); } return 0; } ``` 以下是三个可行的改进建议: 1. 可以添加错误处理机制,例如当用户输入的不是数字时给出提示。 2. 代码中的判断逻辑可以考虑使用更简洁的方式,比如使用条件表达式。 3. 可以添加对输入金额的合理性检查,比如不能为负数或超过某个合理的上限。 [2024-12-26 14:20:36 | AI写代码神器 | 331点数解答]