酷代码 AI
菜单

int n; cin >> n; for (int i = 1; i <= 10; i++) { if (i % n != 0) { cout << i; if (i < 10 - (10 / n)) { cout << " "; } } } cout << endl; C++ 回答篇幅:简单明了

这段C++代码的功能是:先从标准输入读取一个整数 `n`,接着在 `1` 到 `10` 的循环里,筛选出不能被 `n` 整除的数并输出;除了最后一个符合条件的数,其他数后面会输出一个空格,最终换行结束。 示例: 若输入 `2`,能被 `2` 整除的数是 `2`、`4`、`6`、`8`、`10`,程序会输出 `1 3 5 7 9`。 需要注意,`10 - (10 / n)` 这样判断输出空格的逻辑在某些情况可能有问题,例如 `n` 为 `1` 时,`10 / n` 为 `10`,`10 - (10 / n)` 是 `0`,这样就不会输出任何数间的空格。可以通过一个标志变量记录是否是第一个符合条件的数来优化空格输出逻辑。 优化代码如下: ```cpp #include <iostream> int main() { int n; std::cin >> n; bool first = true; for (int i = 1; i <= 10; i++) { if (i % n != 0) { if (!first) { std::cout << " "; } std::cout << i; first = false; } } std::cout << std::endl; return 0; } ``` [2025-11-22 19:45:05 | AI问答 | 353点数解答]

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