C++面向物件程式設計50道程式設計題(第20題)
阿新 • • 發佈:2018-12-09
C++面向物件程式設計50道程式設計題(第20題)
摘要:C++程式設計實習是為學生提供了一個既動手又動腦,獨立實踐的機會,將課本上的理論知識和實際有機的結合起來,鍛鍊學生的分析問題和解決問題的能力,提高學生運用所學知識解決實際問題的能力。
本專輯為程式設計入門者、高校計算機軟體專業學習或複習提供C++程式設計題庫。
讀者請先獨立思考哦,再與參考程式進行比對檢查。
一、問題描述
二、考察內容
基本面向物件概念,如何建立類、物件,對類私有資料成員和公有成員函式的理解,簡單的數學運算。
三、難度等級
難度等級:★★☆☆☆
四、參考程式
#include <iostream.h> class Array{ int x[4][4]; int count; public: Array(int a[4][4]); int fun(int); int encode(); void print(); }; Array::Array(int a[4][4]) { for(int i=0;i<4;i++) for(int j=0;j<4;j++) x[i][j]=a[i][j]; count=0; } int Array::fun(int n) { if(n==0||n==1||n==2)return 0; for(int j=2;j<n;j++) if(n%j==0)return 0; return 1; } int Array::encode() { for(int i=0;i<4;i++){ for(int j=0;j<=i;j++) if(fun(x[i][j])) { count++; while(1) { x[i][j]=x[i][j]+2; if(fun(x[i][j])) break; } } } return count; } void Array::print() { for(int i=0;i<4;i++){ for(int j=0;j<4;j++) cout<<x[i][j]<<'\t'; cout<<'\n'; } cout<<'\n'; } void main() { int m[4][4]={3,6,4,17,8,5,9,10,12,19,7,20,4,14,21,23}; Array test(m); test.print(); cout<<"count="<<test.encode()<<'\n'; test.print(); }
五、心得感受
可以在評論處寫下思考和程式設計此題的感受