当前位置: 代码迷 >> C语言 >> 一个相对比较复杂的小 程序题目~~
  详细解决方案

一个相对比较复杂的小 程序题目~~

热度:103   发布时间:2007-08-10 19:59:13.0
晕拉 真受打击呀 ~~比我学的好这么多。。。

----------------解决方案--------------------------------------------------------

我差的地方也有的啊。。。叫我说理论的我就语无伦次说不上来了。。而且我很健忘,这些只是这几天教的内容而已


----------------解决方案--------------------------------------------------------

main()
{int n;
float price,todayprice;
scanf("%d,%f",&n,&price);
if(n<5)
todayprice=n*price;
else if(n<10)
todayprice=n*price*(1-0.01);
else if(n<20)
todayprice=n*price*(1-0.02);
else if(n<30)
todayprice=n*price*(1-0.04);
else
todayprice=n*price*(1-0.06);
printf("you should pay %f yuan",todayprice);
}
程序已运行过,绝对正确


----------------解决方案--------------------------------------------------------
以下是引用小学女优在2007-8-10 16:52:41的发言:
1 某商场打折销售,够买数量(x)不同给不同的折扣,根据用户输入购买的数量和单价,输出用户的应付的价格折扣信息如下

x<5 不打折
5<=x<10 1%折扣
10<=x<20 2%折扣

20<=x<30 4%折扣

30<=x 6%折扣
运行的结果不对。。很郁闷 。。
include <stdio.h>
void main()
{
float x,rate;
scanf("%f,%f",&x,&rate);
if(x<5)
printf("%lf=rate\n");
else if (5<=x<10)
printf("%lf=rate\n");
else if (10<=x<20)
printf("%lf=rate\n");
else if (20<=x<30)
printf("%lf=rate\n");
else (30<=x)
printf("%lf=rate\n");

}

方法有很多但是越做越乱了。。个位大大看一下 到底是怎么会事,,。。看起来简单做起来好难。。



}


错误太多


----------------解决方案--------------------------------------------------------
#include<stdio.h>
void main()
{
int num;
float price;
scanf("%f,%d",&price,&num);
if(num<5)
printf("\n%f\n",price);
else if(num>=5&&num<10)
printf("\n%f\n",price-price*(1/100));
else if(num>=10&&num<20)
printf("\n%f\n",price-price*(2/100));
else if(num>=20&&num<30)
printf("\n%f\n",price-price*(4/100));
else if(num>=30)
printf("\n%f\n",price-price*(6/100));
}
----------------解决方案--------------------------------------------------------

狂人老大的和我的思路一样哈~呵呵~但是你的最后else if(num>=30)
printf("\n%f\n",price-price*(6/100));
对吗 是不是应该改成~
else (num>=30)
printf("\n%f\n",price-price*(6/100));
}呢


----------------解决方案--------------------------------------------------------
狂人老大的和我的思路一样哈~呵呵~但是你的最后else if(num>=30)
printf("\n%f\n",price-price*(6/100));
对吗 是不是应该改成~
else (num>=30)
printf("\n%f\n",price-price*(6/100));
}呢


就是else if(num>=30)
printf("\n%f\n",price-price*(6/100));


else 后面是不可以直接跟 条件 的,只能再嵌套一个if语句或什么都不跟,

void main(),怎么那么多人用这个,严格来说是不对的

还有,LZ,什么是“一个相对比较复杂的小 程序题目~~”,这是简单的了,只是多重条件判断

----------------解决方案--------------------------------------------------------
回复:(小学女优)狂人老大的和我的思路一样哈~呵呵~...

你的就是比我的少了一个if,
但是else后面是不能加条件的啊


----------------解决方案--------------------------------------------------------
to:totohack
void main()我就是一直弄不懂为什么不对的
----------------解决方案--------------------------------------------------------
在C语言中,这种(5&lt;=x&lt;10)语法是不允许的,应该是5&lt;=x&amp;&amp;x&lt;10
----------------解决方案--------------------------------------------------------