VC 课程实践正确答案(1)(10)

2019-08-31 22:51

(3)在主函数中完成对该类的测试。定义NUM类对象test,通过test调用成员函数完成求素数及输出素数的工作。原始数据为{4, 5, 9, 11, 36, 29, 31, 101, 56, 199}。

#include class Num{

int data[10]; int prime[10]; int num; public:

Num(int n[]); int isprime(int x); void process(); void print(); };

Num::Num(int n[]) {

num=0;

for(int i=0;i<10;i++) data[i]=n[i]; }

int Num::isprime(int x) {

for(int i=2;i

void Num::process() {

int m=0;

for(int i=0;i<10;i++) { if(isprime(data[i])==1) { prime[m++]=data[i]; num++; } } }

void Num::print() {

int m=0;

cout<<\素数的个数为:\ for(int i=0;i

if(m%4==0)cout<

void main() {

int n[]={4,5,9,11,36,29,31,101,56,199}; Num test(n); test.process(); test.print(); }

28.编程实现对大于1的整数进行质因数分解,并求出其和。所谓整数的质因子分解是指将整数分解为其所有质数(素数)因数的积,例如,60=2*2*3*5,则整数60的质因数之和为12。定义一个类Decompose实现上述功能。 具体要求如下: (1)私有数据成员

? int *a:指向存放对应整数的质因数之和的动态存储空间。 ? int *num:指向待分解质因数整数的动态存储空间。 ? int n:整数的个数。 (2)公有数据成员

? Decompose(int m,int b[ ]): 用m初始化n,并用n初始化为动态申请空间的指针a与num。用参数b给数组a赋值。

? void print( ):输出数组a以及num所指向的存储空间中的内容。 ? void primenum( ):求整数a[i]的所有质因数(保留重复部分,例如60的质因数为 2,2,3,5,之和为12),并将这些质因数之和存放到指针num所指向的存储空间中。 ? ~Decompose( ):释放动态分配的存储空间。

(3)在主函数中完成对该类的测试。从键盘输入一组大于1的整数,存放在number数组中,定义类Decompose的对象d ,并用 number初始化d ,调用函数primenum( ) 求number 的所有质因数,最后输出测试结果。

#include class decompose{ int *a; int *num; int n; public:

decompose(int m,int b[]); void print();

void primenum(); ~decompose(); };

decompose::decompose(int m,int b[]) {

n=m;

a=new int[n]; num=new int[n]; for(int i=0;i

void decompose::primenum() {

int s,b,flag;

for(int i=0;i1;) { flag=1; for(int m=2;m

void decompose::print() {

cout<<\输出整数:\ for(int i=0;i cout<

decompose::~decompose() {

delete []a; delete []num; }

void main() {

int b,number[1000];

cout<<\输入要输入的整数的个数\ cin>>b;

for(int i=0;i>number[i]; }

decompose test(b,number); test.primenum(); test.print(); }

29.建立一个类SUM,输入5×5的二维数组,编写程序实现:求出两对角线上各元素的和,求出对角线上行、列下标均为偶数的各元素的积,找出对角线上其值最大的元素以及它在数组中的位置。 具体要求如下: (1)私有数据成员

? int array[5][5]:二维整型数组。

? int s:数组array两对角线元素的和。

? int a:数组array对角线上行、列下标均为偶数的各元素的积

? int b,m,n:数组array对角线上其值最大的元素以及它在数组中的位置。 (2)公有成员函数

? SUM(int d[5][5]):构造函数,初始化成员数据。 ? void process1():求二维数组两对角线元素的和。

? void process2():求二维数组两对角线上行、列下标均为偶数的各元素的积。 ? void process3():求二维数组两对角线上其值最大的元素和它在数组中的位置。 ? void print():输出二维数组(每行输出5个元素)及其它所求的值。 (3)在主程序中对该类进行测试。

#include #include

#include class sum{

int array[5][5]; int s; int a; int b,m,n; public:

sum(int d[5][5]); void process1(); void process2(); void process3(); void print(); };

sum::sum(int d[5][5]) {

for(int i=0;i<5;i++) for(int j=0;j<5;j++) array[i][j]=d[i][j]; s=0; a=1;

b=m=n=0; }

void sum::process1() {

for(int i=0;i<5;i++) for(int j=0;j<5;j++) if(i==j||(i+j)==4)s+=array[i][j]; }

void sum::process2() {

for(int i=0;i<5;i++) for(int j=0;j<5;j++) if(i==j||(i+j)==4) if(i%2==0&&j%2==0) a*=array[i][j]; }

void sum::process3() {

b=array[0][0];

for(int i=0;i<5;i++) for(int j=0;j<5;j++) if(i==j||(i+j)==4) if(b


VC 课程实践正确答案(1)(10).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:黄冈中学最新高考数学题型分析含黄冈密卷

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: