C++练习题:函数的定义与调用

第一部分:考点与作答区

考点:

  • 函数的定义
  • 函数的调用
  • 基本的输入输出操作

作答区: 编写一个C++程序,完成以下要求:

  1. 定义一个函数 square,该函数接受一个整数参数并返回其平方。
  2. main 函数中,从用户那里获取一个整数输入。
  3. 调用 square 函数,并打印出返回的平方值。

请在下方空白处编写代码:

// 在此处编写代码
第二部分:解题思路与答案

解题思路:

  1. 首先定义一个名为 square 的函数,它接受一个整数参数并返回一个整数。
  2. main 函数中,使用 std::cin 来从用户那里获取一个整数。
  3. 使用获取的整数作为参数调用 square 函数,并将返回值存储在一个变量中。
  4. 使用 std::cout 来打印出计算得到的平方值。

答案:

#include <iostream>

// 定义 square 函数
int square(int num) {
    return num * num;
}

int main() {
    int number;
    
    // 获取用户输入
    std::cout << "Enter an integer: ";
    std::cin >> number;
    
    // 调用 square 函数并打印结果
    int squaredNumber = square(number);
    std::cout << "The square of " << number << " is " << squaredNumber << std::endl;

    return 0;
}

这段代码定义了一个名为 square 的函数,它接受一个整数参数并返回该整数的平方。在 main 函数中,程序提示用户输入一个整数,然后读取该整数并调用 square 函数。最后,程序打印出计算得到的平方值。 

第三部分:扩展考点与扩展作答区

扩展考点:

  • 函数重载
  • 递归函数的使用

扩展作答区: 在原有程序的基础上,增加以下功能:

  1. 使用函数重载定义一个新的 square 函数,该函数接受一个浮点数参数并返回其平方。
  2. 定义一个递归函数 factorial,该函数计算并返回一个非负整数的阶乘。

请在下方空白处编写代码:

// 在此处编写代码
第四部分:扩展解答思路与答案

扩展解答思路:

  1. 创建一个新的 square 函数,该函数与之前定义的 square 函数同名,但参数类型为 float
  2. 编写一个名为 factorial 的递归函数,它接受一个整数参数,并在参数为0时返回1,否则返回参数与 factorial 函数的递归调用的乘积。

答案:

#include <iostream>

// 原来的 square 函数
int square(int num) {
    return num * num;
}

// 函数重载:square 接受一个浮点数参数
float square(float num) {
    return num * num;
}

// 递归函数:计算阶乘
unsigned long long factorial(unsigned int num) {
    if (num == 0) {
        return 1;
    } else {
        return num * factorial(num - 1);
    }
}

int main() {
    int intNumber;
    float floatNumber;
    
    // 获取用户输入并计算整数的平方
    std::cout << "Enter an integer: ";
    std::cin >> intNumber;
    std::cout << "The square of " << intNumber << " is " << square(intNumber) << std::endl;

    // 获取用户输入并计算浮点数的平方
    std::cout << "Enter a float: ";
    std::cin >> floatNumber;
    std::cout << "The square of " << floatNumber << " is " << square(floatNumber) << std::endl;

    // 获取用户输入并计算阶乘
    std::cout << "Enter a non-negative integer for factorial: ";
    std::cin >> intNumber;
    std::cout << "The factorial of " << intNumber << " is " << factorial(intNumber) << std::endl;

    return 0;

www.xzpzrcw.com
www.whjxrcw.com
www.zzxzrcw.com
www.cddyrc.com
www.cdwjrcw.com
}

在这段代码中,我们通过函数重载定义了一个新的 square 函数,它接受一个 float 类型的参数。此外,我们还定义了一个递归函数 factorial 来计算非负整数的阶乘。在 main 函数中,我们分别处理了整数和浮点数的平方计算,以及非负整数的阶乘计算。 

 

 

 

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值