🎯第一题:
编写一个C++程序,用new运算符动态分配空间的方法计算Fibonacci数列的前20项并存储在动态分配的空间中。按每行5个数输出数列。
#include <bits/stdc++.h> 万能头文件
cout<<setw(5)<<p[i];设置输出宽度
效果如图:
🎯 第二题:
编写一个程序,用来分别求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"; }