C++函数与参数详解

187、a. 编写一个名为selTab()的函数,该函数能接受表格的起始值、要显示的值的数量以及值之间的增量。如果未明确设置增量,函数应使用默认值1。调用selTab(6,5,2); 应生成一个包含五行的表格,第一行从数字6开始,后续每个数字增加2。表格需显示数字、数字的平方和数字的立方。b. 将编写的selTab()函数包含在一个可运行的程序中。确保该函数从main()函数中被调用。通过向其传递不同的数据来测试该函数。

以下是实现上述要求的C++代码:

#include <iostream>
#include <iomanip>

// 定义selTab函数
void selTab(int start, int numValues, int increment = 1) {
    std::cout << "Number\tSquare\tCube" << std::endl;
    for (int i = 0; i < numValues; ++i) {
        int current = start + i * increment;
        std::cout << current << "\t" << current * current << "\t" << current * current * current << std::endl;
    }
}

int main() {
    // 测试selTab函数
    std::cout << "Test 1: selTab(6, 5, 2)" << std::endl;
    selTab(6, 5, 2);

    std::cout << "\nTest 2: selTab(1, 10)" << std::endl;
    selTab(1, 10);

    return 0;
}

在上述代码中, selTab 函数接受起始值 start 、要显示的值的数量 numValues 和增量 increment (默认值为1)。在 main 函数中,我们对 selTab 函数进行了两次测试,一次传递了起始值、数量和增量,另一次只传递了起始值和数量,使用了默认的增量值。

188、可以构造一个无参数的实用函数,以返回计算机所能允许的最大小数位数精度的 π 值。这个值是通过取 1.0 的反正弦(即 π / 2),然后将结果乘以 2 得到的。在 C++ 中,所需的表达式是 2.0 * asin(1.0);asin() 函数由标准 C++ 数学库提供。编写一个名为 pi() 的 C++ 函数,用于计算并显示 π 的值。记得在预处理指令中包含 cmath。

以下是实现该功能的 C++ 代码:

#include <iostream>
#include <cmath>

void pi() {
    double piValue = 2.0 * asin(1.0);
    std::cout << "π 的值是: " << piValue << std::endl;
}

189、a. 编写一个名为display()的函数模板,该模板在函数被调用时显示传递给它的单个参数的值。b. 将练习a中创建的函数模板包含在一个完整的C++程序中,该程序调用该函数三次:一次传递字符参数,一次传递整数参数,一次传递双精度参数。

以下是满足需求的C++代码:

#include <iostream>
using namespace std;

template <class T>
void display(T value) {
    cout << value << endl;
}

int main() {
    char charArg = 'A';
    int intArg = 123;
    double doubleArg = 3.14159;

    display(charArg);
    display(intArg);
    display(doubleArg);

    return 0;
}

在上述代码中,首先定义了一个名为 display() 的函数模板,用于显示传入参数的值。然后在 main() 函数中,分别使用字符、整数和双精度类型的参数调用 display() 函数。

190、a. 编写一个名为 square() 的函数模板,该模板在函数被调用时计算并返回传入的单个参数的平方。b. 将为练习 15a 创建的函数模板包含在一个完整的 C++ 程序中。

以下是满足需求的代码:

#include <iostream>
// a. 函数模板 square()
template <class T>
T square(T number) {
    return number * number;
}
int main(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值