C++面向对象程序设计50道编程题(第25题)

版权声明:版权所有,尊重原创。转载请注明出处: https://blog.csdn.net/qq_36426650/article/details/84893802

C++面向对象程序设计50道编程题(第25题)

摘要:C++程序设计实习是为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼学生的分析问题和解决问题的能力,提高学生运用所学知识解决实际问题的能力。
  本专辑为编程入门者、高校计算机软件专业学习或复习提供C++程序设计题库。
  读者请先独立思考哦,再与参考程序进行比对检查。

一、问题描述

在这里插入图片描述

二、考察内容

  基本面向对象概念,如何创建类、对象,对类私有数据成员和公有成员函数的理解,简单的数学运算。

三、难度等级

难度等级:★★☆☆☆

四、参考程序

#include <iostream.h>
#include <iomanip.h>
#include <math.h>
class Number{
	int data[50][4];
	int count_data;
public:
	Number(){
		count_data=0;
	}
	int isprime(int x);
	void fun();
	void print();
};
int Number::isprime(int x)
{
	for(int j=2;j<x;j++)
		if(x%j==0)return 0;
	return 1;
}
void Number::fun()
{
	int i,j,k;
	int prime[50],count_prime=0;
	for(i=2;i<30;i++)
		if(isprime(i))
			prime[count_prime++]=i;
	for(i=0;i<count_prime-2;i++)
		for(j=i+1;j<count_prime-1;j++)
			for(k=j+1;k<count_prime;k++)
				if(isprime(prime[i]+prime[j]+prime[k]))
				{
					data[count_data][0]=prime[i]+prime[j]+prime[k];
					data[count_data][1]=prime[i];
					data[count_data][2]=prime[j];
					data[count_data][3]=prime[k];
					++count_data;
				}
}
void Number::print()
{
	int i;
	cout<<"共有"<<count_data<<"个三元组满足条件:\n";
	for(i=0;i<count_data;i++){
		cout<<'('<<setw(2)<<data[i][1]<<','<<setw(2)<<data[i][2]<<','<<setw(2)<<data[i][3]<<"):";
	     cout<<data[i][0]<<'\n';
	}
}
void main()
{
	Number n;
	n.fun();
	n.print();
}

五、心得感受

可以在评论处写下思考和编程此题的感受

猜你喜欢

转载自blog.csdn.net/qq_36426650/article/details/84893802
今日推荐