【发布时间】:2018-10-07 13:04:56
【问题描述】:
你好~我只是 C 的初学者。我有一些代码如下:
#include<stdio.h>
#include<math.h>
...
scanf("%lf %lf", &A[I], &B[I])
...
我需要从键盘输入像 e 或 e^2 这样的数据。我尝试了“e”或“exp(1)”,但它们没有用。谁能给我一些建议?任何帮助表示赞赏!
【问题讨论】:
-
不幸的是“他们没有工作”不是一个非常有意义的故障报告。您观察到哪些行为不符合您的哪些期望?
-
顺便说一句,
A和B是如何定义的? -
如果使用“e”你在Euler-Number之后你需要明确输入:
2.71828182845904523536028747135266249775724709369995[...] -
@alk - 尽管
double仅适用于 20 位有效数字,因此输入所有这些数字将毫无用处,而不仅仅是2.7182818284590452354。 -
您的转换说明符与您的输入不匹配。您似乎正在输入一个表达式(e 的 2 次幂),但 scanf 不是计算器。它允许使用电子表示法以 科学记数法 输入数字,允许 20e+2 表示 20 乘以 10 的 2 次方,但除此之外,您应该解析并执行自己计算。 scanf 直接不支持您的插入符号 (^) 表示法。