一、問題及代碼
/*
*文件名: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循環的嵌套,可以處理很多的數據較大的問題