一、问题及代码
/* *文件名:0.cpp *作者:张前咨 *完成日期:2017年3月13日 *版本号:5.11 *对任务及其完成方法的描述部分: *输入描述:无 *问题描述: 【项目8:贪财的富翁】 *程序输出: *问题分析:略 *算法设计:略 */ #include<iostream> using namespace std; int main() { double fgm=0.01,mgf=0; int i; for(i=1;i<=30;i++) { mgf+=1e+5; fgm*=2; } cout<<"陌给富:"<<mgf<<",富给陌:"<<fgm<<"."; if(mgf>fgm) cout<<"陌生人亏了\n"; else if(mgf==fgm) cout<<"两人都没赚\n"; else cout<<"富翁亏了\n"; return 0; }
二、运行结果
三、心得体会
1、求解这个问题的过程中,发现了自己遗忘的知识点,如1.07374e+007这个数据应该用怎样的数据类型存储,最后想起用double存储即可
2、这个问题中比较遗忘第三种可能,就是富翁和陌生人都没赚的情况,不宜忽视这个易漏点
四、知识点总结
1、1.0e+xxx类型的数据用double型数据存储
一、问题及代码
/*
*文件名:0.cpp
*作者:张前咨
*完成日期:2017年3月13日
*版本号:5.11
*对任务及其完成方法的描述部分:
*输入描述:无
*问题描述:
【项目6:输出质数】
*程序输出:
*问题分析:略
*算法设计:略
*/
#include<iostream>
#include<cmath>
using namespace std;
int main()
{
int i,j,gewei,qianwei,flag;
cout<<"满足条件个位数和千位数相等的质数有:"<<endl;
for(i=1000;i<=10000;i++)
{
flag=1;
for(j=2;j<=(int)sqrt((double)i);j++)
{
if(i%j==0)
flag=0;//使用flag作为标签,一旦发现这个数不是质数,立即标记,后续进行相应的抛弃
}
if(flag)
{
gewei=i/1000;
qianwei=i%10;
if(gewei==qianwei)
cout<<i<<" ";
}
}
return 0;
}
三、心得体会
1、要懂得质数的概念,一开始不知道什么是质数,后来才知道质数就是素数
2、合理运用flag标签,优化程序
3、这个程序我改编了2次,一次是编译错误,第二次是为了优化程序,减小空间复杂度和时间复杂度。因此,每个程序写完以后都要养成试图优化的思想,
这样才能写出高质量的代码
四、知识点总结
1、善于运用for循环的嵌套,可以处理很多的数据较大的问题