第2个回答 2011-03-05
#include<stdio.h>
void main()
{
double danjia,huokuan;
int shuliang;
printf("请输入数量和单价");
scanf("%d,%lf",shuliang,danjia);
if(shuliang>=0&&shuliang<50)
{
huokuan= shuliang*danjia;
printf("优惠为%0,货款为%lf",huokuan);
}
else if(shuliang>=50&&shuliang<100)
{
huokuan= shuliang*danjia*0.95;
printf("优惠为%5,货款为%lf",huokuan);
}
else if(shuliang>=100&&shuliang<300)
{
huokuan= shuliang*danjia*0.925;
printf("优惠为%7.5,货款为%lf",huokuan);
}
else if(shuliang>=300&&shuliang<500)
{
huokuan= shuliang*danjia*0.90;
printf("优惠为%10,货款为%lf",huokuan);
}
else
{
huokuan= shuliang*danjia*0.85;
printf("优惠为%15,货款为%lf",huokuan);
}
}
不知道这个符不符合你的要求,还有要求你再提。好的话加些分。谢谢本回答被提问者和网友采纳
第3个回答 2011-03-05
getFlag(unsigned n,int pos);
int main()
{
unsigned n;
int i,lastPos,sum;
int a[6]=;
for(n=0;n<64;n++) //64为2的6次方
{
sum=0;
for(i=0;i<6;i++)
if(getFlag(n,i+1))
{
lastPos=i;
sum+=a[i];
}
if(sum==99)
{
for(i=0;i<lastPos;i++)
if(getFlag(n,i+1))
printf("%d+",a[i]);
printf("%d=99\n",a[lastPos]);
}
}
return 0;
}
//定义函数取得整数n的第pos位的值(从右往左)
int getFlag(unsigned n,int pos)
{
n>>=pos-1; //将第pos位变为最低位
if(n&1) //如果是奇数
return 1;
else
return 0;
}