C++ cout 一个数学函数

标签 c++ visual-c++

cin 为变量f 赋值。 f 可能是这样的:

pow(5.957,-X*X*X*X)-cos(X*X) +20*sin(X*X)

或其他一些复杂的数学函数。我也试图直接声明它。

f = pow(5.957,-X*X*X*X)-cos(X*X) +20*sin(X*X);
std::cout << "Bisection method on function,  f = " << f << " "<<std::endl;

输出在 MinGW 和 VS2010 上:

f = nan

如何让 cout 在屏幕上打印 f?

我这样声明f

double F(double X) { double f; f =  pow(5.957,-X*X*X*X)-cos(X*X) +20*sin(X*X); return f; }

我基本上是在编写一个 C++ 程序来执行不同的数值方法来求函数的根:二分法、蒙特卡洛法、Newtwon 法等。这些都行得通,但我想在用户输入函数后向其显示该函数, 它只是显示为 NaN。

最佳答案

从表面上看,您正在尝试定义 f作为一个实际数学函数(以直接的方式)。那绝对行不通。

但是如果你有一个字符串,那么f将输出一个字符串,忽略数学函数。

请记住,与其他编程语言不同,C++ 非常...喜怒无常。

您不能将字符分配给 int反之亦然。但是string可以容纳任何东西,因为它只是一段文字。

尝试使用 getline ...等一下,我去拿我的书..

编辑: 好的。如果你使用 getline (cin, foo); , 其中foo定义为 string foo你包括<string> ,这应该有效。那是您的编码最初的样子吗?

Edit2:您应该仍然可以使用 stream从字符串来回转换...但我需要比我更有经验的人来确认这一点。

关于C++ cout 一个数学函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7465616/

相关文章:

c++ - 图像的像素格式始终返回 32 位

c++ - 使用 chrome 嵌入式框架 (CEF) 时如何处理事件消息?

c++ - 为什么 Visual Studio C++ 编译器拒绝将枚举作为模板参数?

c++ - SURF opencv 的描述符评估

c++ - 在 Windows 上的 Netbeans 中设置 Mysql C++ 连接器

c++ - 从 calloc() 迁移到 new

C++多次将文本写入文件

c++ - 判断一个矩阵是上三角矩阵、下三角矩阵还是对角矩阵

linux - 使用 gcc 查找要在项目中链接的 .o 文件顺序的任何工具

c++ - 如何在 C++ 中编译位于不同文件中的模板?