vc6.0各codeblocks两个编译器均可通过,我把两个方法合成在一个程序中了,请楼主细细体会里面的细节,初学都要慢慢的养成好习惯,还有,上班偷偷敲代码不容易,楼主采纳一下呗
#include <stdio.h>
#include <stdlib.h>
int main()
{
//购物金额<100元,不打折;
//100元≦购物金额<300元,9折;
//300元≦购物金额<500元,8折;
//购物金额≧500元,7.5折。
//输入购物金额,输出折扣率和购物实际付款额。(要求分别使用if ……else if语句和switch语句两种方法编程。)
float total = 0;
printf("请输入购物金额:");
scanf("%f",&total);
if(total > 0)
{
/**************************if else语句实现****************************************/
if(total<100)
{
printf("吝啬鬼,花这么少钱,没折打,折扣是0,实际付款是:%.2f\n",total);
}
else if(total>=100 && total < 300)
{
printf("折扣是9折,实际付款是:%.2f\n",total*0.9);
}
else if(total>=300 && total < 500)
{
printf("折扣是8折,实际付款是:%.2f\n",total*0.8);
}
else
{
printf("折扣是7.5折,实际付款是:%.2f,土豪,我们做基友吧\n",total*0.75);
}
/**************************switch语句实现****************************************/
//switch语句实现
printf("\n下面是用switch语句实现:\n");
//请楼主理解这句
int Switch_num = total / 100;//这里是关键,把这个轮换成常量的表达式case才能执行
switch(Switch_num)
{
case 0:
printf("吝啬鬼,花这么少钱,没折打,折扣是0,实际付款是:%.2f\n",total);
break;
case 1:
printf("折扣是9折,实际付款是:%.2f\n",total*0.9);
break;
case 2:
printf("折扣是8折,实际付款是:%.2f\n",total*0.8);
break;
default:
printf("折扣是7.5折,实际付款是:%.2f,土豪,我们做基友吧\n",total*0.75);
break;
}
}
else
{
printf("金额必须是大于0!\n");
}
return 0;
}
追问非常给力的搞笑,谢谢咯。初学没办法,女孩子学这方面没兴趣,碍于是作业。
本回答被提问者采纳