满意答案
dk_seven
2013.04.25
采纳率:46% 等级:12
已帮助:7673人
#include
void main()
{
int day=1,num,t=0,i=2;
double average,money;
while(t<100) //判断条件是所有买的苹果数小于100
{
t+=i;
i=i*2;
day++;
}
num=t-i/4; //计算出总共的个数
money=num*0.8; //计算出花的所有的钱
printf("the nums of apple is %d\n",num);
printf("the totle money is %f\n",money);
average=money/(day-2);
printf("the ave price is %f\n",average);
}建议写成这样。。最简单。。
你的问题我如下注释:
#include
void main()
{
int day=0,i=2;
float everage,money=0.0; //建议改成double类型
while(i<100)
{
money=0.8*i+money;
day=day+1;
i=i*2;
if (i>100) //if判断多余,没意义。
{ money=money-0.8*i;
i=i/2;
break;
}
}
printf("the num of apple is %d\n",i);
printf("the totle money is %d\n",money); //那个%d改成%f,结果就没那么大了。。
everage=money/day;
printf("%d\n",everage); //这里的%d改成%f
}把我说的那些改过来就可以正常运行了。。。另外你的那个运算有问题,你再看看那些时间和个数问题。。
00分享举报