漫漫C仔 发表于 2019-11-14 14:40:10

S1E16求问

问题是这样的:假设小甲鱼和黑夜手上均有 10000 元,小甲鱼以 10% 的单利息投资,黑夜则以每年 5% 的复合利息投资。请编写一个程序,计算需要多少年黑夜手头的 Money 才会超过小甲鱼?
然后我自己利用for语句来做这道题,但是运行的结果跟小甲鱼的不一样请问是哪里出问题呢?代码如下#include<stdio.h>

#define money 10000

int main()
{
        double a_total;
        double b_total;
        int year=0;
       
        for(a_total=money,b_total=money;year++;b_total>a_total)
        {
                a_total=money*0.1+a_total;
                b_total=b_total+b_total * 0.05;
        }
       
               printf("%d年后,黑夜的投资额超过小甲鱼!\n", year);
      printf("小甲鱼的投资额是:%.2f\n", a_total);
      printf("黑夜的投资额是:%.2f\n", b_total);
      
      return 0;
}

jackz007 发表于 2019-11-14 15:39:27

本帖最后由 jackz007 于 2019-11-14 15:50 编辑

         循环语句写错了
      for(a_total = money , b_total = money ; year ++ ; b_total > a_total){
         这样写才是对的
      for(a_total = money , b_total = money , year = 0 ; a_total >= b_total ; year ++) {
         楼主不妨试一试

漫漫C仔 发表于 2019-11-15 08:51:20

jackz007 发表于 2019-11-14 15:39
循环语句写错了

         这样写才是对的


为什么我运行出来的结果是一样的?

jackz007 发表于 2019-11-15 09:13:21

漫漫C仔 发表于 2019-11-15 08:51
为什么我运行出来的结果是一样的?

      是吗,既然你的结果都对了,那还求助什么?

漫漫C仔 发表于 2019-11-17 08:57:45

jackz007 发表于 2019-11-15 09:13
是吗,既然你的结果都对了,那还求助什么?

运行出来的结果是错的,结果是1年。。。
页: [1]
查看完整版本: S1E16求问