【问题标题】:How do I print generated values by ascending order?如何按升序打印生成的值?
【发布时间】:2022-08-18 10:30:51
【问题描述】:

这是我的数学作业的代码,它是找到 x1 和 x2。
公式为:[X1 = a + k * 360] 和 [X2 = -a + k * 360]
但是经过一些计算,我得到了 ±a + k * 120
那我想自动排列,但是怎么做呢?

这是我的 C++ 代码:

#include <iostream>

using namespace std;

int main() {
    for (int K = -3; K <= 3; K++) {
        double X1 = 30 + K * 120;
        double X2 = -30 + K * 120;
        cout << \"\\nK = \" << K << \"\\n\";
        cout << \"|X1 = \" << X1 << endl;
        cout << \"|X2 = \" << X2 << endl;
    }
    system(\"pause\");
}

所以输出是:

K = -3
|X1 = -330
|X2 = -390

K = -2
|X1 = -210
|X2 = -270

K = -1
|X1 = -90
|X2 = -150

K = 0
|X1 = 30
|X2 = -30

K = 1
|X1 = 150
|X2 = 90

K = 2
|X1 = 270
|X2 = 210

K = 3
|X1 = 390
|X2 = 330
Press any key to continue . . .

问题是:如何自动排列这些值? 我希望在他的底部打印这个

-390, -330, -270, -150, -90, -30, 30, 90, 150, 210, 270, 330, 390

没有其他规则,我只想知道如何按升序排列

标签: c++


【解决方案1】:

从 X1K-1< X2ķ< X1ķ,您可以在循环时打印它们,首先是X2,然后是X1

#include <iostream>

using namespace std;

int main() {
    for (int K = -3; K <= 3; K++) {
        double X1 = 30 + K * 120;
        double X2 = -30 + K * 120;
        cout << X2 << ", " << X1;
        if (K == 3) {
            cout << endl;
        } else {
            cout << ", ";
        }
    }
    system("pause");
}

Demo

【讨论】:

    猜你喜欢
    • 2023-01-30
    • 1970-01-01
    • 2017-09-11
    • 2020-04-09
    • 1970-01-01
    • 2018-01-19
    • 2023-01-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多