当前位置:首页 > 江苏科技大学VC++程序实践答案
江苏科技大学
VC++实践报告
一、实践任务
任务一(第2题):
试建立一个类SP,求f(n,k)=1^k+2^k+3^k+…+n^K,另有辅助函数power(m,n),用于求m^n。
具体要求如下:
(1) 私有成员数据:int n,k:存放公式中n和k得值。 (2) 公有成员函数:
SP(int n1,int k1):构造函数,初始化成员数据n和k。 int power(int m,int n):求m^n。 int fun( ):求公式的累加和。 void show( ):输出求的结果。
(3) 在主程序中定义对象s,对该类进行测试。
任务一分析
1、任务分析
通过SP的成员函数power( )可求出m^n的值,再通过累加函数fun(),可求出累加和。类的定义如下: #include
int n,k; public: SP()
int power() int fun() void show() };
2、算法设计
求m^n:定义变量P=1,循环n次,每次循环P乘以m 求累加和:定义变量S=0,通过for循环,将power()函数计
算的结果累加。
3、系统测试
在主函数中用整数初始化SP的对象,并调用成员函数show()输出结果。主函数定义如下: void main() {
SP a(2,3); a.power(2,3); a.fun(); a.show(); }
用以测试的数据为:n=2,k=3;
预期的输出结果为:当n=2,k=3时,f(n,k)=9 任务一程序
#include
int n,k; public:
SP(int n1,int k1) { n=n1;k=k1; }
int power(int m,int n) { int p=1; for (int i=1;i<=n;i++) p*=m; return p; }
int fun() { int s=0; for (int i=1;i<=n;i++) s+=power(i,k); return s; }
void show() { cout<<\当n=\时,f(n,k)=\ } };
void main() {
SP a(2,3); a.power(2,3); a.fun(); a.show(); }
任务二(第24题):
建立一个NUM,并统计特定序列中相同的字符的个数。 具体要求如下: (1)、私有数据成员
? char data[25]: 随机生成25个字符。
? int num[128]: 储存每个字符出现的个数。 (2) 公有成员函数 ? NUM(int data):构造函数,同时初始化数组data。
? void process():统计data中没得字符出现的个数,并保存到数组num
中。
? void print ():输出每个出现过的额字符及其出现的个数,每行输出5个,
没有出 现过的字符不显示
(3)在主程序中定义一个对象,对该类进行测试。 1、任务(系统)分析
由利用头文件#include
char data[25]; int num[128]; public:
NUM(char a[25]) void process() void print() };
任务二分析
(1)将程序随机产生的整数利用循环语句转换为字符,保存在数组a中
(2)将num数组中的每一个元素初始化为0,然后利用这些字符的ASCII字判断它们所出现的次数,保存在num中;
3. 系统测试
在主函数中用数组a初始化Move的对象,并调用其成员函数,print()输出测试结果。主函数定义如下: void main() {
char a[25];
for(int i=0;i<24;i++) a[i]=rand()8; a[24]=0; NUM t(a); t.process(); t.print(); }
输出结果为:
任务二程序
#include
char data[25]; int num[128]; public:
NUM (int data) { for (int i=0;i<25;i++) this->data[i]=rand()8; }
void process() { for (int i=0;i<128;i++) num[i]=0; for ( i=0;i<25;i++) num[data[i]]++;
共分享92篇相关文档