C语言优惠促销问题(附带源码)
天猫超市双 11 推出以下优惠促销活动:
编程计算当购物满 s 元时,实际付费多少?
输出:实际付款额(带2位小数的浮点数)。
使用 if…else… 语句的嵌套,根据优惠活动规则设置不同判断条件,以不同的折扣率计算实际付款额。
代码清单 2:根据优惠规则计算实际付款额
- 购物满 50 元,打 9 折;
- 购物满 100 元,打 8 折;
- 购物满 200 元,打 7 折;
- 购物满 300 元,打 6 折;
编程计算当购物满 s 元时,实际付费多少?
问题分析
输入:消费额s(带2位小数的浮点数)。输出:实际付款额(带2位小数的浮点数)。
使用 if…else… 语句的嵌套,根据优惠活动规则设置不同判断条件,以不同的折扣率计算实际付款额。
算法描述
1) 定义浮点型变量 s 和 f,分别存放消费额和实际付款额; 2) 用 scanf( ) 从键盘输入一个浮点数给 s; 3)如果 s<50,则不打折,实际付款额 f 等于 s; 否则, 如果 s<100,则实际付款额 f 等于 s*0.9; 否则, 如果 s<200,则实际付款额 f 等于 s*0.8; 否则, 如果 s<300,则实际付款额 f 等于 s*0.7; 否则,s 一定超过 300 元,则实际付款额 f 等于 s*0.6; 4)用 printf( ) 输出实际付款额 f。
代码清单 2:根据优惠规则计算实际付款额
#include <stdio.h> #include <stdlib.h> int main( ) { float s,f; printf("输入消费额:\n"); scanf("%f",&s); if (s<50) f = s; else if (s<100) f = s*0.9; //9折 else if (s<200) f = s*0.8; //8折 else if (s<300) f = s*0.7; //7折 else f = s*0.6; //6折 printf("实际付款额为:%.2f元\n",f); system("pause"); return 0; }运行结果为:
输入消费额:
623
实际付款额为:373.80元