【题目描述】
一件衣服95元,若消费满300元,可打八五折。输入购买衣服件数,输出需要支付的金额(单位:元),保留两位小数。
【题目来源】
刘汝佳《算法竞赛入门经典 第2版》习题1-5 打折 (discount)
【解析】
这道题没有几乎没有任何难度,直接上代码:
#include<stdio.h>
int main(){
int num;
double total;
scanf("%d", &num);
total = 95.0*num;
if(total>=300){
total = total * 0.85;
}
printf("%.2f\n", total);
return 0;
}
这里面唯一要注意的是输出保留两位小数的要求,要在%f的中间加上“.2”,“.”代表小数小,2代表小数点后有两位小数。
但是,这道题有一个小bug,就是它的输出要求不够明确。它要求“输出需要支付的金额(单位:元)”,但并未明确要求输出的形式:金额带不带单位。
当然了,这只是一道习题,在正式的算法竞赛中,是一定会给出输入、输出样例的,那就不会产生这种歧义了。