用c语言的循环结构或数组解决这个实际问题

一个百万富翁遇到一个陌生人,陌生人找他谈了一个换钱的计划。该计划如下:我每天给你m 元, 而你第一天只需给我一分钱。第二天我仍给你 m 元,你给我 2 分钱。第三天,我仍给你 m 元,你给我 4 分钱。依次类推,你每天给我的钱是前一天的两倍,直到一个月(30)天。百万富翁很高兴, 欣然接受这个契约。现要求,编写一个程序,由键盘输入 m,计算多少天后,百万富翁开始亏钱。再计算30天后, 富翁亏了多少钱?

2个回答

 #include <stdio.h>

void star(void);     //打印星号

int main()
{  
    int    i;
 float  money;
 float  late_money=0.0;
 float  sum_money=0.0;

 star();   //打印星号

 money=0.01;  

    for(i=1; i<=30; i++)  
 {  
  sum_money+=300000.0;    //计算给富翁的钱

  late_money+=money;      //计算给陌生人的钱
     money=money* 2;

  printf("第%2d天后,富翁给的钱为:%10.2f\t", i, late_money);
  printf("陌生人得给的钱为:%11.2f\n", sum_money);
 }
    printf("\n富翁看到结果后,会反悔吧!\n");

 printf("\n哈哈,谢谢您的合作!\n\tGOOD BYE!\n");
    star();   //打印星号

    return 0;
}

//star函数  
void star(void) 
{    
    int i; 

    for(i=0; i<60; i++) 
    { 
        printf("*"); 
    } 
    printf("\n"); 
}  
#include<stdio.h>
#include<math.h>
int main() {
    double m, n = 0.01, richer = 0, poorer = 0, out;
    scanf("%lf", &m);
    int key = 1;
    int day;
    for(int i=1;key||i<=30;i++,n*=2){
        richer += m;
        poorer -= m;
        richer -= n;
        poorer += n;
        if (richer <= 0 && key) {
            day = i;
            key = 0;
        }
        if (i == 30) {
            out = richer;
        }
    }
    printf("第%d天富翁开始亏钱\n30天后,富翁亏了%0.2lf元", day, out);
    return 0;
}


Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐