建立一个二进制文件,用来存放自然数1~20及其平方根,然后输入1~20之内的任意一个自然数,查找出其平方根显示在屏幕上(求平方根时可以使用cmath中的库函数sqrt)
时间: 2024-05-09 19:15:55 浏览: 100
下面是一个可以实现该功能的C++代码:
```cpp
#include <iostream>
#include <fstream>
#include <cmath>
using namespace std;
int main() {
// 创建二进制文件并写入数据
ofstream out("data.bin", ios::binary);
for (int i = 1; i <= 20; i++) {
double sqrt_i = sqrt(i);
out.write(reinterpret_cast<char*>(&i), sizeof(int));
out.write(reinterpret_cast<char*>(&sqrt_i), sizeof(double));
}
out.close();
// 读取文件并查找平方根
int num;
cout << "请输入一个1~20内的自然数:";
cin >> num;
ifstream in("data.bin", ios::binary);
while (in) {
int n;
double sqrt_n;
in.read(reinterpret_cast<char*>(&n), sizeof(int));
in.read(reinterpret_cast<char*>(&sqrt_n), sizeof(double));
if (n == num) {
cout << num << "的平方根为:" << sqrt_n << endl;
break;
}
}
in.close();
return 0;
}
```
代码中首先创建一个名为`data.bin`的二进制文件,并在其中写入自然数1~20及其平方根。之后,程序提示用户输入一个自然数,然后从文件中读取数据,并通过比较自然数来查找对应的平方根,最后将结果输出到屏幕上。需要注意的是,在读取数据时需要使用`reinterpret_cast`进行类型转换。
阅读全文