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<stdio.h>
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
}把我說的那些改過來就可以正常運行了。。。另外妳的那個運算有問題,妳再看看那些時間和個數問題。。