编写一个c++程序,搜索一个int类型的数字文件,并将最大和最小的数字写到屏幕上。该文件只包含由空格或换行符分隔的int类型的数字。
时间: 2024-09-30 18:05:36 浏览: 28
以小数点位置固定的方式输出-c++文件流操作.
在C++中编写一个这样的程序,你可以按照以下步骤操作:
```cpp
#include <iostream>
#include <fstream>
#include <vector>
#include <algorithm> // 包含sort函数
int main() {
std::ifstream inputFile("numbers.txt"); // 打开输入文件
if (!inputFile) { // 检查文件是否打开成功
std::cerr << "Error opening file.\n";
return 1;
}
std::vector<int> numbers; // 创建一个存储整数的容器
int num;
while (inputFile >> num) { // 读取文件中的每个整数
numbers.push_back(num); // 将整数添加到容器中
}
inputFile.close(); // 关闭文件
if (numbers.empty()) {
std::cout << "The file is empty or does not contain any integers.\n";
} else {
sort(numbers.begin(), numbers.end()); // 对数字进行排序
int minNum = numbers.front(); // 最小值
int maxNum = numbers.back(); // 最大值
std::cout << "Minimum number: " << minNum << "\n";
std::cout << "Maximum number: " << maxNum << "\n";
}
return 0;
}
```
这个程序首先尝试打开名为"numbers.txt"的文件,如果文件存在且可以读取,它会逐行读取并存储所有的整数值。接着,它会检查容器中是否有数字,如果没有就显示一条消息。如果有数字,程序会先对它们进行排序,然后找出最小和最大的值并打印出来。
阅读全文