【C++】——基础编程

简介: 【C++】——基础编程

🎯第一题:

编写一个C++程序,用new运算符动态分配空间的方法计算Fibonacci数列的前20项并存储在动态分配的空间中。按每行5个数输出数列。


#include <bits/stdc++.h> 万能头文件


cout<<setw(5)<<p[i];设置输出宽度


效果如图:

3db36f2a9f171cd8b801277f7a6ab35a_3717f78e87523b93ab95d37db676f207.png


🎯 第二题:

编写一个程序,用来分别求2个整数、3个整数、2个双精度数和3个双精度数的和。要求使用重载函数来完成。

#include<iostream>


using namespace std;


/********************************/


/*******************************/


int main() {


cout<<add(1,3)<<endl;   //两个整数相加


cout<<add(1,2,3)<<endl;   //三个整型相加


cout<<add(2.5,3.5)<<endl;   //两个实数相加


cout<<add(1.5,2.5,3.5)<<endl;   //三个实数相加


return 0;


}

把程序补充完整,输出效果如图。

🎯 第三题:

编写一个程序,任意从键盘输入两个整数,能将它们按从大到小的顺序输出。要求程序中有一个交换两个整数的函数,其形参是变量的引用。输入输出示例:


🎯 第四题:

编程实现鸡兔同笼问题:

一笼子内鸡兔总数n只,腿数m;问鸡兔各多少?n,m从键盘输入。

效果如图:


🎯 第五题:

编程实现韩信点兵:


相传韩信才智过人,从不直接清点自己军队的人数,只要让士兵先后以三人一排、五人一排、七人一排地变换队形,而他每次只掠一眼队伍的排尾就知道总人数了。输入3个非负整数a,b,c,表示每种队形排尾的人数(a<3,b<5,c<7),输出总人数的最小值(或报告无解)。已知总人数不小于10,不超过100。

样例输入:2 1 6

样例输出:41

样例输入:2 1 3

样例输出:No answer

🎯 答案:

💻第一题:

#include <iostream>
 
#include <iomanip>
 
using namespace std;
 
int main() {
 
int i;
 
int *p=new int[21];
 
p[1]=1;
 
p[2]=1;
 
for(i=3; i<=20; i++)
 
p[i]=p[i-1]+p[i-2];
 
for(i=1; i<=20; i++) {
 
cout<<setw(5)<<p[i];
 
if(i%5==0)
 
cout<<endl;
 
}
 
return 0;
 
}

💻第二题:

#include<iostream>
 
using namespace std;
 
/********************************/
 
int add(int x, int y,int z) {
 
return x+y+z;
 
}
 
int add(int x,int y) {
 
return x+y;
 
}
 
double add(double x, double y,double z) {
 
return x+y+z;
 
}
 
int add(double x,double y) {
 
return x+y;
 
}
 
/*******************************/
 
int main() {
 
cout<<add(1,3)<<endl;  //两个整数相加
 
cout<<add(1,2,3)<<endl;  //三个整型相加
 
cout<<add(2.5,3.5)<<endl;  //两个实数相加
 
cout<<add(1.5,2.5,3.5)<<endl;  //三个实数相加
 
return 0;
 
}

💻第三题:

#include <iostream>
 
using namespace std;
 
void exchange(int& x, int& y)
 
{
 
int temp = x;
 
x = y;
 
y = temp;
 
}
 
int main(){
 
   int a, b;
 
   cout << "please input two nums:";
 
    cin >> a >> b;
 
    if(a<b)
 
    exchange(a, b);
 
    cout << "exchange:"<<a<<" "<<b<< endl;
 
    return 0;
 
}
 
 
 

💻第四题:

#include <iostream>
 
using namespace std;
 
int main() {
 
int n,m;
 
int x,y;
 
cout<<"input n,m:";
 
cin>>n>>m;
 
x=(4*n-m)/2;
 
y=n-x;
 
//x+y=n
 
//2x+4y=m
 
//2x+4(n-x)=m
 
//x=(4n-m)/2
 
//y=n-x
 
cout<<"鸡:"<<x<<",兔:"<<y<<endl;
 
}

💻第五题:

#include <iostream>
 
using namespace std;
 
int main() {
 
int a,b,c;
 
int i;
 
cout<<"input a,b,c:";
 
cin>>a>>b>>c;
 
for(i=10; i<=100; i++) {
 
if(i%3==a&&i&&i%5==b&&i%7==c) {
 
cout<<i<<endl;
 
break;
 
}
 
}
 
if(i>100)
 
cout<<"No answer";
 
}
 
 
 
目录
相关文章
|
3天前
|
编译器 C++ 开发者
C++一分钟之-C++20新特性:模块化编程
【6月更文挑战第27天】C++20引入模块化编程,缓解`#include`带来的编译时间长和头文件管理难题。模块由接口(`.cppm`)和实现(`.cpp`)组成,使用`import`导入。常见问题包括兼容性、设计不当、暴露私有细节和编译器支持。避免这些问题需分阶段迁移、合理设计、明确接口和关注编译器更新。示例展示了模块定义和使用,提升代码组织和维护性。随着编译器支持加强,模块化将成为C++标准的关键特性。
17 3
|
5天前
|
存储 C++
【C++航海王:追寻罗杰的编程之路】一篇文章带你了解二叉搜索树
【C++航海王:追寻罗杰的编程之路】一篇文章带你了解二叉搜索树
9 1
|
5天前
|
算法 安全 编译器
【C++航海王:追寻罗杰的编程之路】C++11(四)
【C++航海王:追寻罗杰的编程之路】C++11(四)
13 0
|
5天前
|
存储 自然语言处理 C++
【C++航海王:追寻罗杰的编程之路】set|map|multiset|multimap简单介绍
【C++航海王:追寻罗杰的编程之路】set|map|multiset|multimap简单介绍
11 0
【C++航海王:追寻罗杰的编程之路】set|map|multiset|multimap简单介绍
|
5天前
|
存储 安全 程序员
【C++航海王:追寻罗杰的编程之路】C++11(一)
【C++航海王:追寻罗杰的编程之路】C++11(一)
12 0
【C++航海王:追寻罗杰的编程之路】C++11(一)
|
5天前
|
设计模式 编译器 C++
【C++航海王:追寻罗杰的编程之路】特殊类的设计方式你知道哪些?
【C++航海王:追寻罗杰的编程之路】特殊类的设计方式你知道哪些?
7 0
|
5天前
|
编译器 C++
【C++航海王:追寻罗杰的编程之路】多态你了解多少?
【C++航海王:追寻罗杰的编程之路】多态你了解多少?
9 0
|
5天前
|
编译器 C++ 容器
【C++航海王:追寻罗杰的编程之路】C++11(三)
【C++航海王:追寻罗杰的编程之路】C++11(三)
6 0
|
5天前
|
存储 编译器 C++
【C++航海王:追寻罗杰的编程之路】C++11(二)
【C++航海王:追寻罗杰的编程之路】C++11(二)
10 0
|
5天前
|
存储 Java 程序员
【C++航海王:追寻罗杰的编程之路】异常——错误处理方式之一
【C++航海王:追寻罗杰的编程之路】异常——错误处理方式之一
9 0