【问题标题】:Why var x display incorrectly?为什么 var x 显示不正确?
【发布时间】:2017-03-27 11:45:30
【问题描述】:
    #include <iostream> // подключаем библиотеку ввода-вывода
    #include <cmath> // подключаем библиотеку математических функций

    using namespace std;

    int main()
    {
    float a, x, y = 0; // объявление переменных
    cout << "Enter a variable: ";
    cin >> a; // запрос на ввод a
    cout << "Enter x variable: ";
    cin >> x; // запрос на ввод x
    cout << "a = " << a << ", x = " << x; // вывод a и x
    y = (pow(x, 3) + sqrt(1 + pow(x, 3))) / (a + exp(x)); // формула расчета
    cout << y;
    }

Enter a variable: 6
Enter x variable: 7
a = 6, x = 70.327894

我不明白为什么 x == 70,而它必须是 7。我也不知道为什么 cout &lt;&lt; y; 不起作用。如果我删除y = ...cout &lt;&lt; y,x 显示正确。 我想,这是我的错,因为我是 C++ 新手,对语法不太了解。

【问题讨论】:

  • 你知道y的值应该是多少吗? (我的钱在0.327894。)
  • 所以你的问题是“为什么额外的打印语句会打印额外的东西?”
  • molbdnilo,我在 Python 中得到了和你一样的结果,但在 C++ 中没有。
  • 因为后面没有打印换行符! &lt;&lt; endl; 因此,x 是 7,y 是 0.327894
  • enhzflep,谢谢,它有效!

标签: c++ variables syntax codeblocks


【解决方案1】:

您只是在同一行打印所有内容,您可以:

在你的两个第一个结果之后打印它:

cout << "a = " << a << ", x = " << x; // вывод a и x
y = (pow(x, 3) + sqrt(1 + pow(x, 3))) / (a + exp(x)); // формула расчета
cout << ", y = " << y;

输出:

Enter a variable: 6
Enter x variable: 7
a = 6, x = 7, y = 0.327894

或者在另一行打印y

cout << "a = " << a << ", x = " << x << "\n"; // returns to another line
y = (pow(x, 3) + sqrt(1 + pow(x, 3))) / (a + exp(x)); // формула расчета
cout << "y = " << y;

输出:

Enter a variable: 6
Enter x variable: 7
a = 6, x = 7
y = 0.327894

【讨论】:

    【解决方案2】:

    a = 6,x = 70.327894

    这并不意味着 x =70.327894

    x 为 7,结果 y 为 0.327894

    您需要仔细打印到终端,使用&lt;&lt; endl; 并添加更多标签,以便您可以轻松识别数学计算的输出...

    底线:你的火箭配方运行良好,你需要再喝一杯咖啡...... :)

    【讨论】:

      猜你喜欢
      • 2020-06-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-25
      • 2021-04-06
      • 1970-01-01
      • 1970-01-01
      • 2019-07-29
      相关资源
      最近更新 更多