编写一个C语言程序,一个百万富翁遇到一个陌生人,陌生人找他谈了一个换钱的计划。该计划如下:我每天给你m 元,而你第一天只需给我一分钱。第二天我仍给你m 元,你给我2 分钱。第三天,我仍给你m 元,你给我4分钱。依次类推,你每天给我的钱是前一天的两倍,直到一个月(31)。百万富翁很高兴,欣然接受这个契约。现要求编写一个程序,由键盘输入m,计算多少天后,百万富翁开始亏钱。
时间: 2023-06-08 17:09:28 浏览: 154
请看下面的 C 语言程序:
```c
#include <stdio.h>
int main()
{
int m, i;
double sum = 0, money = 0.01;
printf("请输入每天给你的钱数 m: ");
scanf("%d", &m);
for (i = 1; i <= 31; i++)
{
sum += money;
money *= 2;
if (sum > m * i)
{
printf("在第 %d 天开始亏钱\n", i);
break;
}
}
return 0;
}
```
程序的主要思路是使用一个循环来计算每天百万富翁收到的钱数和每天给陌生人的钱数,直到百万富翁开始亏钱为止。在循环内部,我们使用了一个变量 sum 来记录已经收到的钱数,使用变量 money 来记录每天给陌生人的钱数,每经过一天,money 就乘以 2,表示每天给的金额是前一天的两倍。当 sum 超过输入的 m 乘以天数 i 时,即表示百万富翁开始亏钱,打印出是第几天即可。
注意,在程序中我们使用了 double 类型的变量来存储钱数,因为随着天数的增加,金额会很快超过 int 类型的取值范围,所以必须使用 double 来避免精度损失。
相关问题
编写一个c语言程序,编写一段程序
好的,我可以帮你编写一个简单的C语言程序。以下是一个示例程序,它将提示用户输入两个整数,然后计算它们的和并输出结果:
```
#include <stdio.h>
int main() {
int num1, num2, sum;
printf("请输入两个整数:\n");
scanf("%d %d", &num1, &num2);
sum = num1 + num2;
printf("它们的和为:%d", sum);
return 0;
}
```
请注意,这只是一个简单的示例程序,你可以根据自己的需要进行修改和扩展。如果你有任何问题,请随时向我提问。
编写一个C语言程序找出1到200间的素数并计数
我可以为你写一个C语言程序来找出1到200之间的素数并计数。程序的大致思路是:首先使用一个循环,从1开始,到200结束,用一个变量计数,每次循环加1;然后检查当前数字是否为素数,如果是,计数器加1;最后输出计数结果。