问题描述:
一个百万富翁遇到一个陌生人,陌生人找他谈一个换钱的计划,该计划如下:我每天给你10万元,而你第一天只需要给我一分钱,第二天我仍然给你10万元,你给我两分钱,第三天我仍给你十万元,你给我四分钱......,你每天给我的钱是前一天的两倍,直到满一个月(30天),百万富翁很高兴,欣然的接受了这个契约。请编程序,通过计算说明,这个换钱计划对百万富翁是否是个划算的交易。
代码:
<pre name="code" class="cpp">/*
*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<<"元。陌生人的钱为"<<setiosflags(ios::fixed);
cout<<setprecision(2)<<(dStranger+=n); //输出陌生人的钱并保留小数点后俩位。
cout<<"元。"<<'\n';
n*=2;
}
if (dMillionaire>dStranger) //多层if语句嵌套判断富翁是否合算。
cout<<"富翁合算,富翁赚了"<<(dMillionaire-dStranger)<<"元";
if (dMillionaire==dStranger)
cout<<"富翁和陌生人收益一样。";
else cout<<"对富翁不利,富翁赔了";
cout<<(dStranger-dMillionaire)<<"元";
return 0; //执行返回语句,结束程序。
}
运行结果:
知识点与学习心得:
如果运用iomanip中的输出选项可以让界面跟加友好。题外话富翁最后是赔了,看来天上是没有免费的午餐也不可能一步登天。如果我们想要强大自己那必须脚踏实地的去拼搏