第1个回答 2006-08-01
现用 if 来回答
#include <iostream>
using namespace std;
int main()
{
int n;
float money,per;
cout<<"请输入商品的单价:";
cin>>money;
cout<<"您要购买几个呢?请输入个数:";
cin>>n;
if (n<5) per=1;
else if (n<10) per=0.99;
else if (n<20) per=0.98;
else if (n<30) per=0.96;
else per=0.94;
cout<<"您一共打了"<<1-per<<"的折扣"<<endl<<"需要支出"<<money*n*per<<"元"<<endl;
return 0;
}
下面是用switch的做法
#include <iostream>
using namespace std;
int main()
{
int n;
float money,per;
cout<<"请输入商品的单价:";
cin>>money;
cout<<"您要购买几个呢?请输入个数:";
cin>>n;
switch (n/5)
{
case 0: per=1;break;
case 1: per=0.99;break;
case 2:
case 3: per=0.98;break;
case 4:
case 5: per=0.96;break;
default: per=0.94;
}
cout<<"您一共打了"<<1-per<<"的折扣"<<endl<<"需要支出"<<money*n*per<<"元"<<endl;
return 0;
}
这个是用 ? : 做的
#include <iostream>
using namespace std;
int main()
{
int n;
float money,per;
cout<<"请输入商品的单价:";
cin>>money;
cout<<"您要购买几个呢?请输入个数:";
cin>>n;
per=( n<5 ? 1 : (n<10 ? 0.99 : (n<20 ? 0.98 : (n<30 ? 0.96 : 0.94) ) ) );
cout<<"您一共打了"<<1-per<<"的折扣"<<endl<<"需要支出"<<money*n*per<<"元"<<endl;
return 0;
}
最简单,但是也最头晕,呵呵^_^
第2个回答 2006-08-01
给你核心代码,你再调调,y为单价
switch (x/5)
{
case 0:printf("%lf",x*y);break;
case 1:printf("%lf",x*y*0.99);break;
case 2:
case 3:printf("%lf",x*y*0.98);break;
case 4:
case 5:printf("%lf",x*y*0.96);break;
default:printf("%lf",x*y*0.94);
}
第3个回答 2006-08-01
int iNum;/*购买数量*/
int iPay;/*购买费用*/
int iPrice;/*商品单价*/
if (iNum >= 30)
{
iPay = iPrice*iNum*(1-6%);
}
else if (iNum >=20)
{
iPay = iPrice*iNum*(1-4%);
}
else if (iNum >=10)
{
iPay = iPrice*iNum*(1-2%);
}
else if (iNum >=5)
{
iPay = iPrice*iNum*(1-1%);
}
else
{
iPay = iPrice*iNum
}
第4个回答 2006-08-01
total=x*price;
switch(x)
{
case <5:
break;
case <10:
total*=0.99;
break;
case <20:
total*=0.98;
break;
case <30:
total*=0.96;
break;
defult:
total*=0.94;
break;
}
第5个回答 2006-08-01
正在学 学会告诉你 X_P