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