[求助]作业。根据用户输入的购买数量给予不同的折扣,输出应付金额
#include <stdio.h>void main()
{
int amount,x;
float dj;
double rate;
printf("请你输入商品的数量,商品的单价:,\n");
scanf("%d%d%f%lf",&amount,&x,&dj,&rate);
if (x<5){
rate=0;
printf("\n %d*%f=%f",amount,dj,amount*dj);
}else if ((x>=5)&&(x<10)){
rate=0.01;
printf("\n %d*%f*%lf=%f",amount,dj,amount*dj*rate);
}else if ((x>=10)&&(x<20)){
rate=0.02;
printf("\n %d*%f*%lf=%f",amount,dj,amount*dj*rate);
}else if ((x>=20)&&(x<30)){
rate=0.04;
printf("\n %d*%f*%lf=%f",amount,dj,amount*dj*rate);
}else {
rate=0.06;
printf("\n %d*%f*%lf=%f",amount,dj,amount*dj*rate);
}
}
某商场打折促销商品,购买某种商品根据购买数量给予不同的折扣,根据用户输入的购买商品的数量及该商品的单价,输出用户应付的金额
不知道是不是算法不对.
程序编译没有问题..但是就是按CTRL+F5程序还是不能够计算
就给我输入两个数字后就没有反映,
----------------解决方案--------------------------------------------------------
以下是引用绿色沙洲在2007-8-10 15:47:25的发言:
#include <stdio.h>
void main()---------------------用int
{
int amount,x;
float dj;
double rate;
printf("请你输入商品的数量,商品的单价:,\n");
scanf("%d%d%f%lf",&amount,&x,&dj,&rate);
if (x<5){
rate=0;
printf("\n %d*%f=%f",amount,dj,amount*dj);
}else if ((x>=5)&&(x<10)){-------------------||以下都个成或!
rate=0.01;
printf("\n %d*%f*%lf=%f",amount,dj,amount*dj*rate);
}else if ((x>=10)&&(x<20)){
rate=0.02;
printf("\n %d*%f*%lf=%f",amount,dj,amount*dj*rate);
}else if ((x>=20)&&(x<30)){
rate=0.04;
printf("\n %d*%f*%lf=%f",amount,dj,amount*dj*rate);
}else {
rate=0.06;
printf("\n %d*%f*%lf=%f",amount,dj,amount*dj*rate);
}
}
某商场打折促销商品,购买某种商品根据购买数量给予不同的折扣,根据用户输入的购买商品的数量及该商品的单价,输出用户应付的金额
不知道是不是算法不对.
程序编译没有问题..但是就是按CTRL+F5程序还是不能够计算
就给我输入两个数字后就没有反映,
#include <stdio.h>
void main()---------------------用int
{
int amount,x;
float dj;
double rate;
printf("请你输入商品的数量,商品的单价:,\n");
scanf("%d%d%f%lf",&amount,&x,&dj,&rate);
if (x<5){
rate=0;
printf("\n %d*%f=%f",amount,dj,amount*dj);
}else if ((x>=5)&&(x<10)){-------------------||以下都个成或!
rate=0.01;
printf("\n %d*%f*%lf=%f",amount,dj,amount*dj*rate);
}else if ((x>=10)&&(x<20)){
rate=0.02;
printf("\n %d*%f*%lf=%f",amount,dj,amount*dj*rate);
}else if ((x>=20)&&(x<30)){
rate=0.04;
printf("\n %d*%f*%lf=%f",amount,dj,amount*dj*rate);
}else {
rate=0.06;
printf("\n %d*%f*%lf=%f",amount,dj,amount*dj*rate);
}
}
某商场打折促销商品,购买某种商品根据购买数量给予不同的折扣,根据用户输入的购买商品的数量及该商品的单价,输出用户应付的金额
不知道是不是算法不对.
程序编译没有问题..但是就是按CTRL+F5程序还是不能够计算
就给我输入两个数字后就没有反映,
----------------解决方案--------------------------------------------------------
以下是引用viky2003在2007-8-10 15:50:05的发言:
搞错了,不好意思!!我再看看
----------------解决方案--------------------------------------------------------
以下是引用绿色沙洲在2007-8-10 15:47:25的发言:
#include <stdio.h>
void main()----------------------int
{
int amount,x;
float dj;
double rate;
printf("请你输入商品的数量,商品的单价:,\n");
scanf("%d%d%f%lf",&amount,&x,&dj,&rate);-----------不需要输入rate
if (x<5){
rate=0;
printf("\n %d*%f=%f",amount,dj,amount*dj);
}else if ((x>=5)&&(x<10)){
rate=0.01;
printf("\n %d*%f*%lf=%f",amount,dj,amount*dj*rate);------%d*%f*%lf应该是%lf吧!!
}else if ((x>=10)&&(x<20)){
rate=0.02;
printf("\n %d*%f*%lf=%f",amount,dj,amount*dj*rate);
}else if ((x>=20)&&(x<30)){
rate=0.04;
printf("\n %d*%f*%lf=%f",amount,dj,amount*dj*rate);
}else {
rate=0.06;
printf("\n %d*%f*%lf=%f",amount,dj,amount*dj*rate);
}
----------------------------------------------------------return 0;
}
某商场打折促销商品,购买某种商品根据购买数量给予不同的折扣,根据用户输入的购买商品的数量及该商品的单价,输出用户应付的金额
不知道是不是算法不对.
程序编译没有问题..但是就是按CTRL+F5程序还是不能够计算
就给我输入两个数字后就没有反映,
#include <stdio.h>
void main()----------------------int
{
int amount,x;
float dj;
double rate;
printf("请你输入商品的数量,商品的单价:,\n");
scanf("%d%d%f%lf",&amount,&x,&dj,&rate);-----------不需要输入rate
if (x<5){
rate=0;
printf("\n %d*%f=%f",amount,dj,amount*dj);
}else if ((x>=5)&&(x<10)){
rate=0.01;
printf("\n %d*%f*%lf=%f",amount,dj,amount*dj*rate);------%d*%f*%lf应该是%lf吧!!
}else if ((x>=10)&&(x<20)){
rate=0.02;
printf("\n %d*%f*%lf=%f",amount,dj,amount*dj*rate);
}else if ((x>=20)&&(x<30)){
rate=0.04;
printf("\n %d*%f*%lf=%f",amount,dj,amount*dj*rate);
}else {
rate=0.06;
printf("\n %d*%f*%lf=%f",amount,dj,amount*dj*rate);
}
----------------------------------------------------------return 0;
}
某商场打折促销商品,购买某种商品根据购买数量给予不同的折扣,根据用户输入的购买商品的数量及该商品的单价,输出用户应付的金额
不知道是不是算法不对.
程序编译没有问题..但是就是按CTRL+F5程序还是不能够计算
就给我输入两个数字后就没有反映,
----------------解决方案--------------------------------------------------------
是这个么?????
----------------解决方案--------------------------------------------------------
第一我的作业上括号本来就有的,可能没有复制上来.不好意思
第二.我把rate dele了
第三我把等于号后面的改成了%lf
最后,题目的要求是
x<5
5<=x<10
10<=x<20
20<=x<30
30<=x
所以是不是不能改成或啊
最后还是不对啊
----------------解决方案--------------------------------------------------------
以下是引用绿色沙洲在2007-8-10 15:47:25的发言:
#include <stdio.h>
void main()
{
int amount,x;
float dj;
double rate;
printf("请你输入商品的数量,商品的单价:,\n");
scanf("%d%d%f%lf",&amount,&x,&dj,&rate);
if (x<5){
rate=0;
printf("\n %d*%f=%f",amount,dj,amount*dj);
}else if ((x>=5)&&(x<10)){
rate=0.01;
printf("\n %d*%f*%lf=%f",amount,dj,amount*dj*rate);--------------------四个%,当时只有三个参数
}else if ((x>=10)&&(x<20)){
rate=0.02;
printf("\n %d*%f*%lf=%f",amount,dj,amount*dj*rate);--------同上
}else if ((x>=20)&&(x<30)){
rate=0.04;
printf("\n %d*%f*%lf=%f",amount,dj,amount*dj*rate);
}else {
rate=0.06;
printf("\n %d*%f*%lf=%f",amount,dj,amount*dj*rate);
}
}
某商场打折促销商品,购买某种商品根据购买数量给予不同的折扣,根据用户输入的购买商品的数量及该商品的单价,输出用户应付的金额
不知道是不是算法不对.
程序编译没有问题..但是就是按CTRL+F5程序还是不能够计算
就给我输入两个数字后就没有反映,
#include <stdio.h>
void main()
{
int amount,x;
float dj;
double rate;
printf("请你输入商品的数量,商品的单价:,\n");
scanf("%d%d%f%lf",&amount,&x,&dj,&rate);
if (x<5){
rate=0;
printf("\n %d*%f=%f",amount,dj,amount*dj);
}else if ((x>=5)&&(x<10)){
rate=0.01;
printf("\n %d*%f*%lf=%f",amount,dj,amount*dj*rate);--------------------四个%,当时只有三个参数
}else if ((x>=10)&&(x<20)){
rate=0.02;
printf("\n %d*%f*%lf=%f",amount,dj,amount*dj*rate);--------同上
}else if ((x>=20)&&(x<30)){
rate=0.04;
printf("\n %d*%f*%lf=%f",amount,dj,amount*dj*rate);
}else {
rate=0.06;
printf("\n %d*%f*%lf=%f",amount,dj,amount*dj*rate);
}
}
某商场打折促销商品,购买某种商品根据购买数量给予不同的折扣,根据用户输入的购买商品的数量及该商品的单价,输出用户应付的金额
不知道是不是算法不对.
程序编译没有问题..但是就是按CTRL+F5程序还是不能够计算
就给我输入两个数字后就没有反映,
还有就是amount*dj*rate的数据类型,你最好和前面的匹配!!用(double)强制转化一下吧!!
----------------解决方案--------------------------------------------------------
[CODE]#include<stdio.h>
void main()
{
float a;
int c;
printf("本商场甩卖商品,要抢乘现在!\n");
printf("输入您购买的数量和应付的价格:");
scanf("%d%f",&c,&a);
if(c>5)
{
if(c<10)
printf("购买的数量是%d,享受1折的优惠,应付%.2f\n",c,a-a*0.01);
else if(c<20)
printf("购买的数量是%d,享受2折的优惠,应付%.2f\n",c,a-a*0.02);
else if(c<30)
printf("购买的数量是%d,享受2折的优惠,应付%.2f\n",c,a-a*0.04);
else
printf("购买的数量是%d,享受6折的优惠,应付%.2f\n",c,a-a*0.06);
}
else
printf("购买的数量是%d,不享受优惠,应付%.2f\n",c,a);
}[/CODE]
这样应该简单点吧。。。跟我们书上的题目一样。。。难道是我们班上的MM?
----------------解决方案--------------------------------------------------------
貌似楼上的对你们班的MM很 ....
----------------解决方案--------------------------------------------------------
谢谢 Maltase 他的答案是对的
----------------解决方案--------------------------------------------------------