内容专栏:【C/C++要打好基础啊】
本文内容:简单函数使用练习题(复习之前写过的实验报告)
本文作者:Melon西西
发布时间 :2023.2.11
目录
1.给定某个年、月、日的值,计算出这一天属于该年的第几天,写出计算闰年的函数和计算日期的函数
2.编写函数判断一个数是否是“素数”。在主函数中调用该函数找出1000以内的所有素数,并按6个一行输出。
3.阶乘编辑
4.用递归算法解决下面的 “兔子问题”:假定小兔子一个月就可以长成大兔子,而大兔子每个月都会生出一对小兔子。(即兔子从生后第三个月才会生小兔子。)如果年初养了一对小兔子,问到年底时将有多少对兔子? (当然得假设兔子没有死亡而且严格按照上述规律长大与繁殖)。
5.编写一个程序,输入一个十进制数n,输出相应的二进制数或者八进制数,或者其他进制数。设计一个递归函数实现数制转换。整数n以及要转换为的进制(2、8、16或者其他)都由用户输入。
#include
using namespace std;
int main()
{
int day = 0, yue=0,year = 0, sum = 0;
int mounth[12] = { 31,28,31,30,31,30,31,31,30,31,30,31 };
cin >> year >> yue >> day;
int sumyue = 0;
for (int i = 0;i < yue-1;i++)
{
sumyue += mounth[i];
}
if (yue > 2)
{
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0)
{
sumyue++;
}
}
sum = sumyue + day;
cout << "这一天是该年的第" << sum << "天" << endl;
return 0;
}
#include
#include
using namespace std;
int main()
{
int t = 1, count = 0;
for (int i = 1; i < 1000; i++)
{
for (int j = 2; j < i; j++)
{
if (i % j == 0)
{
t = 0;
}
}
if (t == 1)
{
cout << setw(3) << i << " ";
count++;
if (count % 6 == 0)
{
cout << "\n";
}
}
t = 1;
}
return 0;
}
#include
using namespace std;
double n = 0, r = 0, t = 0;
double fact(double a)
{
if (a == 1)
{
return 1;
}
else
{
return a * fact(a - 1);
if (r == 0)
{
return 1;
}
else if (r == 1)
{
return n;
}
}
}
int main()
{
cout << "请输入n和r的值:" << endl;
cin >> n >> r;
t = n - r;
if (n == 0 && r == 0)
{
cout << "程序结束" << endl;
}
else if (n < 1 || n < r)
{
cout << "Input Invalid!"<
#include
using namespace std;
double n = 0, r = 0, t = 0;
double fact(double a)
{
int temp = 1;
for (int i = 1;i <= a;i++)
temp *= i;
return temp;
}
int main()
{
cout << "请输入n和r的值:" << endl;
cin >> n >> r;
t = n - r;
if (n == 0 && r == 0)
{
cout << "程序结束" << endl;
}
else if (n < 1 || n < r)
{
cout << "Input Invalid!"<
#include
using namespace std;
int rabbit(int n)
{
if (n < 3)
{
return 1;
}
int fn = rabbit(n - 2) + rabbit(n - 1);
{
return fn;
}
}
int main()
{
int mouth = 12;
rabbit(mouth);
cout << "年底有" << rabbit(mouth)<<"对兔子";
return 0;
}
#include
#include
using namespace std;
int zhihuan(int a, int b)
{
string arr = "0123456789ABCDEF";
if (a < b)
{
cout << arr[a];
}
else
{
zhihuan(a / b, b);
cout << arr[a % b];
}
return 0;
}
int main()
{
int n, m, num = 0;
cout << "请输入一个十进制数n:";
cin >> n;
cout << "请输入想转化成的m进制数:";
cin >> m;
cout << n << "转化成" << m << "进制数为:";
zhihuan(n, m);
}