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