21xrx.com
2024-11-05 17:20:05 Tuesday
登录
文章检索 我的文章 写文章
C++实验报告:函数
2023-06-25 15:42:06 深夜i     --     --
C++函数 函数调用 参数传递 递归函数 内联函数

一、实验目的

本实验旨在加深学生对C++函数的理解及应用能力,掌握函数的定义、调用和参数传递等相关知识点。

二、实验环境

本实验使用Microsoft Visual Studio 2019集成开发环境。

三、实验内容

本实验的主要内容为编写函数实现以下三个功能:

1. 判断一个数是否为素数;

2. 计算并输出菲波那切数列的前10项;

3. 编写一个求阶乘的函数,并计算10!的值。

四、实验步骤

1. 实现判断素数的函数isPrime,其中通过循环判断从2到该数的平方根之间的所有整数是否能够整除该数,若能,就不是素数;若不能,就是素数。具体实现如下:

#include <iostream>

#include <cmath>

using namespace std;

bool isPrime(int n)

{

  int m = sqrt(n);

  for (int i = 2; i <= m; i++)

  {

    if (n % i == 0)

      return false;

  }

  return true;

}

2. 实现计算菲波那切数列的函数fibonacci,先将前两项设为1,然后通过循环计算出后面的8项,具体实现如下:

void fibonacci()

{

  int f1 = 1, f2 = 1, f3;

  cout << f1 << " " << f2 << " ";

  for (int i = 3; i <= 10; i++)

  {

    f3 = f1 + f2;

    cout << f3 << " ";

    f1 = f2;

    f2 = f3;

  }

  cout << endl;

}

3. 实现求阶乘的函数factorial,通过递归实现。具体实现如下:

int factorial(int n)

{

  if (n == 0 || n == 1)

    return 1;

  else

    return n * factorial(n - 1);

}

4. 在主函数main中,调用以上函数实现相关功能,具体实现如下:

int main()

{

  int n = 17;

  if (isPrime(n))

    cout << n << " is prime." << endl;

  else

    cout << n << " is not prime." << endl;

  fibonacci();

  int fac = factorial(10);

  cout << "10! = " << fac << endl;

  return 0;

}

五、实验结果

通过上述实验,我们实现了判断一个数是否为素数、计算并输出菲波那切数列的前10项、以及求10!的功能,结果如下:

17 is prime.

1 1 2 3 5 8 13 21 34 55

10! = 3628800

六、实验总结

本实验通过实现相关函数,增强了学生对C++函数的理解与应用能力,为后续学习打下了基础。同时,我们还可以通过学习更多的函数,深入挖掘C++的强大功能,开发更加强大的应用程序。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复