第五次c 上機實驗報告

2021-07-31 02:43:40 字數 3835 閱讀 1681

一、問題及**

*檔名稱: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,...