题目:一个百万富翁遇到一个陌生人,陌生人找他谈了一个换钱的计划。该计划如下:我每天给你m元,而你第一天只需给我一分钱。第二天我仍给你m元,你给我2分钱。第三天,我仍给你m元,你给我4分钱。依次类推,你每天给我的钱是前一天的两倍,直到一个月(38)天。百万富翁很高兴,欣然接受这个契约。现要求,编写一个程序,由键盘输入m,计算多少天后,百万富翁开始亏钱。
我编的程序是这个:
#include<stdio.h>
int main()
{
int i;
double sumfu=0,summo=0,y=0.001,m,sum1=0,sum2=0;
scanf("%lf",&m);
for(i=1;i<=38;i++)
{
sumfu=m*i-y;
summo=y-m*i;
sum1+=sumfu;
sum2+=summo;
y=y*2;
if(sumfu<summo) {printf("%d",i); break;}
}
}
但一直得不到正确结果,高手看看问题在哪。。。
应该这样子,只需要计算富翁的收入就行了 不需要管陌生人的,无视一个月是38天吧。。。 另外 一分确实是0.01元。。。不是0.001
#include<stdio.h>
int main()
{
int i;
double sumfu=0,y=0.01,m;
scanf("%lf",&m);
for(i=1;i<=38;i++)
{
sumfu=sumfu+m-y;
y=y*2;
if(sumfu<0 ){printf("%d",i); getch();exit(0);}/*只要富翁的收入小于0 ,就说明他开始亏了*/
}
}
#include<stdio.h>
int main()
{
int i;
double sumfu=0,y=0.01,m;
scanf("%lf",&m);
for(i=1;i<=38;i++)
{
sumfu=sumfu+m-y;
y=y*2;
if(sumfu<0 ){printf("%d",i); getch();exit(0);}/*只要富翁的收入小于0 ,就说明他开始亏了*/
}
}
温馨提示:答案为网友推荐,仅供参考
第1个回答 2011-11-07
double sumfu=0,summo=0,y=0.001,m,sum1=0,sum2=0; 这里y=0.01
sumfu=m*i-y; 这里不应该-y,只计算得到的,如果-y是净值
if(sumfu<summo),判断条件也不对,sumfu,summo是两人一天的账目,不是总数,应该用sum1<sum2
sumfu=m*i-y; 这里不应该-y,只计算得到的,如果-y是净值
if(sumfu<summo),判断条件也不对,sumfu,summo是两人一天的账目,不是总数,应该用sum1<sum2
第2个回答 2011-11-07
一个月38天。。。。。。。
y=0.001.........大哥,你是中国人不?1元钱是1000分么?
y=0.001.........大哥,你是中国人不?1元钱是1000分么?
第3个回答 2018-06-26
说白了,就是两层循环,第五行就是i从1加到5,执行五次,第七行是j从1加到5,也是执行五次。
但要注意了,i=1的时候,里面的要执行一次,这一次包含j的五次执行,所以一共是5*5次执行本回答被网友采纳
但要注意了,i=1的时候,里面的要执行一次,这一次包含j的五次执行,所以一共是5*5次执行本回答被网友采纳