CPP题目 一

这篇博客包含了8个C++编程题目,涉及数字处理、条件判断和数学逻辑。其中包括寻找特定条件的数(如3、5、7的倍数、完全平方数、素数),判断直角三角形,字母统计,以及解决经典数学问题(如百钱百鸡、年龄和问题)。

CPP题目 一

1.先随机产生N个三位自然数输出,然后再输出其中同时是3、5、7倍数的数。(设N为100)

#include<stdlib.h>
#include<time.h>
#include<iostream>
using namespace std;
int main()
{
   
   
   in i,s,N;
   cin>>N;
   srand(time(nullptr));
   for(i=0;i<N;i++)
  {
   
   
     s=rand()%1000;//生成3位随机数
     cout<<s<<endl;
     if(s%105==0)//判断是否为3、7,5的倍数
     {
   
   
     cout<<"是3、5,7倍数的数"<<s<<endl;
     }
     return 0;
  }

2.用for编程找出100~200中的完全平方数。

float型的i开平方的值等于强转为int型的i开平方的值,则它为完全开平方数。

#include<iostream>
#include<math.h>
int main()
{
   
   
  float i=100;
  cout<<"100~200中的完全平方数有:"<<endl
  for(i=100;i<=200;i++)
  {
   
   
     if(sqrt(i)==int(sqrt(i)))//判断是否为完全平方数
     {
   
   
      cout<<i<<endl
所给引用中未提及C++工程模式相关题目。不过,C++中常见的计模式有单例模式、工厂模式、适配器模式等,以下给出些相关题目示例: ### 单例模式 - 请实现个线程安全的单例模式,并解释为什么要保证线程安全。 ```cpp #include <iostream> #include <mutex> class Singleton { private: static Singleton* instance; static std::mutex mtx; Singleton() {} Singleton(const Singleton&) = delete; Singleton& operator=(const Singleton&) = delete; public: static Singleton* getInstance() { std::lock_guard<std::mutex> lock(mtx); if (instance == nullptr) { instance = new Singleton(); } return instance; } }; Singleton* Singleton::instance = nullptr; std::mutex Singleton::mtx; ``` - 简述单例模式的优缺点。 ### 工厂模式 - 实现个简单的工厂模式,用于创建不同类型的图形(如圆形、矩形)。 ```cpp #include <iostream> class Shape { public: virtual void draw() = 0; virtual ~Shape() {} }; class Circle : public Shape { public: void draw() override { std::cout << "Drawing a circle." << std::endl; } }; class Rectangle : public Shape { public: void draw() override { std::cout << "Drawing a rectangle." << std::endl; } }; class ShapeFactory { public: static Shape* createShape(const std::string& type) { if (type == "circle") { return new Circle(); } else if (type == "rectangle") { return new Rectangle(); } return nullptr; } }; ``` - 工厂模式在什么场景下适用? ### 适配器模式 - 已知现有个旧的音频播放器类,只能播放MP3格式,现在需要个适配器,使其能够播放WAV格式。请实现这个适配器。 - 结合引用内容,说明适配器模式在C++项目中的具体应用场景有哪些。根据引用可知,适配器模式适用于集成第三方库、复用旧代码、统接口和解耦等场景[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值