gpt4 book ai didi

c++ - 如何删除此代码中的前导 0 和最后一个 0?

转载 作者:行者123 更新时间:2023-12-05 08:36:04 25 4
gpt4 key购买 nike

我正在尝试编写一个程序,要求用户输入大于 2 的正整数。该程序应该输出所有小于用户输入且是 3 的倍数的正整数。但是,当运行我的代码时,我注意到有两个令人讨厌的 0 不断出现并且不应该出现在那里。关于如何删除它们或使代码更好的任何帮助?谢谢!

#include <iostream>
using namespace std;

int get_numbers(int x)
{

for (int i = 0; i < x; i += 3)
{
cout << i << " ";
}
return 0;

}

int main()
{
int integer = 0;
cout << "Enter a positive integer larger than 2: ";
cin >> integer;
cout << get_numbers(integer);
}

最佳答案

让我们遍历您的代码并对其进行解释。有 2 个重要部分具有 cout:


for (int i = 0; i < x; i += 3) 
{
cout << i << " ";
}

这个循环是什么意思?嗯

  1. 0开始i
  2. i 小于 x 时执行
  3. i 增加 3
  4. 打印每个 i

重要的部分是1。您从 0 开始 i,您将打印 0。要解决此问题,请不要从 0 开始!从不同的数字开始(根据您对所需行为的描述可能是 3)。


另一个cout在这里:

cout << get_numbers(integer);

您正在打印函数 get_numbers 的返回值。如果您查看该函数,它只会返回 1 个东西:

return 0;

所以你要打印0!

这个函数不需要返回任何东西,所以只需要:

void print_numbers_in_increments_of_3(int x);

并删除cout

关于c++ - 如何删除此代码中的前导 0 和最后一个 0?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70871840/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com