建立一个二进制文件,用来存放自然数1~20及其平方根,然后输入1~20之内的任意一个自然数,查找出其平方根显示在屏幕上(求平方根时可以使用cmath中的库函数sqrt)。用C++
时间: 2023-12-03 20:45:14 浏览: 146
输入数值 可求输入值的平方根
以下是一个简单的实现,假设你想要将数据存储在名为“data.bin”的二进制文件中:
```c++
#include <iostream>
#include <fstream>
#include <cmath>
using namespace std;
// 定义一个结构体来存储自然数及其平方根
struct Number {
int value;
double square_root;
};
int main() {
// 创建一个数组来存储Number结构体
Number numbers[20];
// 初始化数组
for (int i = 0; i < 20; i++) {
numbers[i].value = i + 1;
numbers[i].square_root = sqrt(i + 1);
}
// 将数组写入二进制文件
ofstream outfile("data.bin", ios::binary);
if (outfile.is_open()) {
outfile.write(reinterpret_cast<char*>(&numbers), sizeof(numbers));
outfile.close();
}
// 从二进制文件中读取数据
int input;
cout << "请输入一个自然数:";
cin >> input;
ifstream infile("data.bin", ios::binary);
if (infile.is_open()) {
Number buffer;
while (infile.read(reinterpret_cast<char*>(&buffer), sizeof(buffer))) {
if (buffer.value == input) {
cout << "该自然数的平方根为:" << buffer.square_root << endl;
break;
}
}
infile.close();
}
return 0;
}
```
该程序首先将自然数1~20及其平方根存储在一个Number结构体数组中。然后,它将数组写入名为“data.bin”的二进制文件中。接下来,程序提示用户输入一个自然数。它从二进制文件中读取数据,并在找到该自然数时计算其平方根并将其输出到屏幕上。
阅读全文