Bootstrap

C++格式化输入输出【练习版】

一、引言

在 C++ 编程中,准确地进行输入输出操作是构建功能强大且用户友好程序的关键。格式化输入输出允许我们以特定的格式展示数据,确保数据的可读性和准确性。本文将深入探讨 C++ 的格式化输入输出,通过丰富的练习例题和详细的答案解析,帮助读者更好地掌握这一重要技能。

二、C++ 格式化输入输出基础

(一)coutcin简介
cout是 C++ 中的标准输出流,用于向屏幕输出数据。cin是标准输入流,用于从键盘接收数据。

(二)简单的格式化输出示例

cpp

Copy

int num = 42;
std::cout << "The number is: " << num << std::endl;

(三)简单的格式化输入示例

cpp

Copy

int inputNum;
std::cout << "Enter a number: ";
std::cin >> inputNum;
std::cout << "You entered: " << inputNum << std::endl;

三、格式化操纵符

(一)设置输出宽度setw
使用setw操纵符可以设置输出字段的宽度。

cpp

Copy

int a = 10;
std::cout << "Value with setw(5): " << std::setw(5) << a << std::endl;

(二)设置精度setprecision
用于设置浮点数的输出精度。

cpp

Copy

double b = 3.1415926;
std::cout << "Value with setprecision(3): " << std::setprecision(3) << b << std::endl;

四、练习例题

(一)例题 1:输出格式化的个人信息
要求:输入姓名、年龄和身高(保留两位小数),然后以特定格式输出个人信息。

cpp

Copy

#include <iostream>
#include <iomanip>

int main() {
    std::string name;
    int age;
    double height;

    std::cout << "Enter your name: ";
    std::cin >> name;

    std::cout << "Enter your age: ";
    std::cin >> age;

    std::cout << "Enter your height: ";
    std::cin >> height;

    std::cout << "Name: " << name << std::endl;
    std::cout << "Age: " << age << std::endl;
    std::cout << "Height: " << std::fixed << std::setprecision(2) << height << std::endl;

    return 0;
}

(二)例题 2:输出表格形式的数据
要求:输入若干个整数,然后以表格形式输出这些整数,每行输出五个整数,每个整数占五个字符宽度。

cpp

Copy

#include <iostream>
#include <iomanip>

int main() {
    int num;
    int count = 0;
    std::cout << "Enter integers (enter 0 to stop): ";
    while (std::cin >> num && num!= 0) {
        std::cout << std::setw(5) << num;
        count++;
        if (count % 5 == 0) {
            std::cout << std::endl;
        }
    }

    return 0;
}

(三)例题 3:进制转换输出
要求:输入一个整数,分别以十进制、八进制和十六进制输出该整数。

cpp

Copy

#include <iostream>
#include <iomanip>

int main() {
    int number;
    std::cout << "Enter an integer: ";
    std::cin >> number;

    std::cout << "Decimal: " << std::dec << number << std::endl;
    std::cout << "Octal: " << std::oct << number << std::endl;
    std::cout << "Hexadecimal: " << std::hex << number << std::endl;

    return 0;
}

五、答案解析

(一)例题 1 答案解析
通过cin分别获取用户输入的姓名、年龄和身高。然后使用cout输出个人信息,对于身高使用std::fixedstd::setprecision(2)来确保输出保留两位小数。

(二)例题 2 答案解析
使用一个循环不断接收用户输入的整数,使用std::setw(5)设置输出宽度为五个字符。通过计数变量count来控制每行输出五个整数后换行。

(三)例题 3 答案解析
首先接收用户输入的整数。然后分别使用std::decstd::octstd::hex操纵符来以十进制、八进制和十六进制输出该整数。

六、总结

C++ 的格式化输入输出为我们提供了强大的工具来控制数据的显示方式。通过练习不同类型的例题,我们可以更好地掌握各种格式化操纵符的使用方法,从而编写出更加清晰、易读的程序。在实际编程中,根据不同的需求灵活运用格式化输入输出,可以大大提高程序的质量和用户体验。

;