一、問題及**
*檔名稱:aaa
*作 者:李釗
*完成日期:2023年4月24日
*版 本 號:vc++6.0
*對任務及求解方法的描述部分:
*輸入描述:無輸入
*程式輸出:6不是素數
*問題分析:使用函式語句
*演算法分析:使用函式語句
#include
using namespace std;
class naturalnumber
{private:
int n;
public:
void setvalue (int x);//置資料成員
n的值,要求判斷是否是正整數
int getvalue(); //返回私有資料成員
n的值
bool isprime(); //判斷資料成員
n是否為素數,是返回
true
,否則返回
false
void printfactor(); //輸出資料成員
n的所有因子,包括1和
n自身
bool isperfect(); //判斷資料成員
n是否為完全數。若乙個正整數
n的所有小於
n的因子之和等於
n, 則稱
n為完全數, 如
6=1+2+3
是完全數。
bool isreverse(int x);//判斷形式引數
x是否為資料成員
n的逆向數(例
321是
123的逆向數)。
bool isdaffodil(int x); //判斷形式引數
x是否是水仙花數。水仙花數的各位數字立方和等於該數,如
153=1*1*1+5*5*5+3*3*3
void printdaffodils(); //顯示所有大於
1,且小於資料成員
n的水仙花數;
void main(void)
naturalnumber nn; //定義類的乙個例項(物件)
nn.setvalue (6);
cout是
":"不是
")<
素數" <
nn.setvalue (37);
cout是
":"不是
")<
素數" <
nn.setvalue (84);
cout的因子有:
";
nn.printfactor();
cout <
nn.setvalue(6);
cout <
":"不是
") <
完全數" <
nn.setvalue(8);
cout <
":"不是
") <
完全數" <
nn.setvalue(123);
cout <
":"不是
") <
的逆向數
" <
nn.setvalue(123);
cout <
":"不是
") <
的逆向數
" <
nn.setvalue(153);
cout <
":"不是
") <
水仙花數
" <
nn.setvalue(30);
cout <
":"不是
") <
水仙花數
" <
nn.setvalue(200);
cout <
";
nn.printdaffodils();
system("pause");
//隨著成員函式的實現,增加**以完成相關的測試。注意判斷類的成員函式需要測試是或否兩種情況……
//請在下面定義類中的各個成員函式
void naturalnumber::setvalue(int x)//判斷是否為正整數
if(x > 0)
n = x;
return ;
int naturalnumber::getvalue()//得到該整數的值
return n;
bool naturalnumber::isprime()//判斷是不是素數
bool prime = true;
int i = 2 ;
while(i
if(n % i == 0)
prime = false;
break;
++i;
return prime;
void naturalnumber::printfactor()//輸出所有因子
int i;
for(i = 1; i <= n; ++i)
if(n % i == 0)
cout <
return;
bool naturalnumber::isperfect()//判斷是否是完全數
bool perfect = false;
int i,s = 0;
for(i = 1;i
if(n % i == 0)
s = s + i;
if(s == n)
perfect = true;
return perfect;
bool naturalnumber::isreverse(int x)//判斷是否是逆向數
bool reverse = false;
int s = 0;
while(x > 0)//轉換成其逆向數
s = s * 10 + x % 10;
x = x / 10;
if(s == n)
reverse = true;
return reverse;
bool naturalnumber::isdaffodil(int x)//判斷是否是水仙花數
bool daffodil = false;
int s = 0, d, p = x;
while(x > 0)
d = x % 10;
s = s + d * d * d;
x = x / 10;
if(p == s)
daffodil = true;
return daffodil;
void naturalnumber::printdaffodils()//輸出水仙花數
int i;
for(i = 2; i
if(isdaffodil(i))
cout <
cout <
return ;
二、執行結果
三、心得體會:
對c++越來越感興趣,雖然碰到點小麻煩,但是克服了,我會好好學c++的!
四、知識點總結:
乙個程式至少要有乙個函式,main函式長稱為主函式;函式中所有語句都包括在一對花括號中。
C 第五次上機 實驗報告
一 問題及 檔名稱 c 第5次實驗上機 專案 正整數類 作?者 程志清 完成日期 2017.4.24 版 本 號 5.11 對任務及求解方法的描述部分 輸入描述 問題描述 程式輸出 問題分析 演算法設計 includeusing namespace std class naturalnumber i...
c 第五次實驗報告
include include include using namespace std 函式宣告 void output1 vector void output2 vector intmain cout i like these output1 likes dislikes cout i disli...
第五次實驗報告
一 問題及 專案名稱 book類 物聯網 本題寫成實驗部落格 編寫乙個book類,包含name 書名 writer 作者 publicer 出版社 price number 數量 no 書號 等資料成員。定義成員函式setbook,用來給書籍的資料成員賦值,定義成員函式borrow和restore,...