酷代码 AI
菜单

c++ 奥兹玛之心发出的回应信号是一连串数字。如果数字是 3 的倍数,说明要向西前进 3 千米,输出"W3"。否则,如果是 5 的倍数,说明要向东前进5千米,输出"E5"。其他情况则说明要向北前进10千米,输出"N10"。 请你编写程序,根据数字信号,每行依次输出对应的前进方向和距离,并在最后一行输出需要走的总路程。 输入: 共两行。 第一行为一个整数n,表示信号数字的个数。 第二行为n个整数,表示每个信号数字。 输出: 共n+1行。 前 n 行,每行一个输出,表示每个信号数字对应的前进方向和距离。 最后一行为一个整数,表示大家走的总路程。

以下是实现该功能的 C++ 代码: ```cpp #include <iostream> using namespace std; int main() { int n; cin >> n; int totalDistance = 0; for (int i = 0; i < n; i++) { int num; cin >> num; if (num % 3 == 0) { cout << "W3" << endl; totalDistance += 3; } else if (num % 5 == 0) { cout << "E5" << endl; totalDistance += 5; } else { cout << "N10" << endl; totalDistance += 10; } } cout << totalDistance << endl; return 0; } ``` 代码解释: 1. 输入处理: - 首先读取一个整数 `n`,表示信号数字的个数。 - 定义一个变量 `totalDistance` 用于记录总路程,初始化为 0。 2. 循环处理每个信号数字: - 使用 `for` 循环遍历 `n` 个信号数字。 - 在每次循环中,读取一个整数 `num`。 - 根据 `num` 的情况判断前进方向和距离: - 如果 `num` 是 3 的倍数,输出 `"W3"`,并将总路程加上 3。 - 如果 `num` 是 5 的倍数,输出 `"E5"`,并将总路程加上 5。 - 其他情况,输出 `"N10"`,并将总路程加上 10。 3. 输出总路程: - 循环结束后,输出总路程。 复杂度分析: - 时间复杂度:$O(n)$,其中 $n$ 是信号数字的个数。 - 空间复杂度:$O(1)$,只使用了常数级的额外空间。 [2025-11-21 19:58:58 | AI问答 | 458点数解答]

服务商
相关提问
发财导航,免费问AI
实用工具查看更多