一个百万富翁遇到一个陌生人,陌生人找他谈一个换钱的计划,该计划如下:我每天给你10万元,而你第一天只需要给我一分钱,第二天我仍然给你10万元,你给我两分钱,第三天我仍给你十万元,你给我四分钱......,你每天给我的钱是前一天的两倍,直到满一个月(30天),百万富翁很高兴,欣然的接受了这个契约。请编程序,通过计算说明,这个换钱计划对百万富翁是否是个划算的交易。
/*
*copyright (c) 2014,烟台大学计算机学院
*all rights reserved.
*文 件 名 : 输出完数.cpp
*作 者 : 冷基栋
*完成日期 :2014年11月03号
*版 本 号 :v1.0
*
*问题描述 :百万富翁与陌生人达成换钱协议,陌生人每天给富翁十万而富翁第一天给陌生人一分然后每天翻一番。(共一个月)
*输入描述 :无。
*程序输出 :数据和判断富翁是否有利。
*/
#include <iostream> //预处理指令。.
#include <iomanip>
using namespace std; //使用C++的命名空间 std。
int main() //函数首部。
{
int iDay;
double dMillionaire=0; //定义一个变量为实型并赋值,代表富翁的钱.
double dStranger=0,n=0.01; //定义两个变量为实型并赋值,代表陌生人的钱和每天增加的钱。
for (iDay=1; iDay<=30; ++iDay) //for语句执行,开始计算2人的钱
{
cout<<"第"<<iDay<<"天:";
cout<<"富翁给陌生人的钱为"<<setiosflags(ios::fixed);
cout<<setprecision(0)<<(dMillionaire+=100000); //输出富翁的钱并输出整数。
cout<<"元。陌生人给富翁的钱为";
cout<<setprecision(2)<<(dStranger+=n); //输出陌生人的钱并保留小数点后俩位。
cout<<"元。"<<'\n';
n*=2;
}
if (dMillionaire>=dStranger) //多层if语句嵌套判断富翁是否合算。
cout<<"富翁合算,富翁赚了"<<(dMillionaire-dStranger)<<"元";
else cout<<"对富翁不利,富翁赔了";
cout<<(dStranger-dMillionaire)<<"元";
return 0; //执行返回语句,结束程序。
}
运行结果: