циклы — c ++ о циклическом выводе

Я только начал изучать C ++ и хочу спросить, почему вывод моего простого кода неправильный.

Что я хочу:

пользовательский ввод N -> выход = «N число, что мод 2 = 0, но не мод 3 = 0»

Что я имею:

пользовательский ввод N -> output = «число с mod 2, но не с mod3 = 0, с диапазоном до n»

Вот мой код:

#include <iostream>
#include <conio.h>

int main()
{
int i,n;

std::cout << "input n" << std::endl;
std::cin >> n;
std::cout << "N Number that mod2=0 but mod3!=0" << std::endl;

for ( i = 1; i <= n; ++i )
{
if ( i % 2 == 0 && i % 3 != 0 )
{
std::cout << i < "   ";
}
}

getch ();
}

-3

Решение

Если я вас правильно понимаю, вы хотите, чтобы пользователь ввел количество цифр, соответствующее вашему условию. Для этого у вас должен быть счетчик:

#include <iostream>
#include <conio.h>
#include <cmath>

using namespace std;

int main()
{
int n;

cout << "input n" << endl;
cin >> n;
cout << n << " numbers for that holds that mod2 = 0 but mod3 != 0" << endl;

int counter = 0;
for (int i = 1; counter < n; ++i)
{
if (i % 2 == 0 && i % 3 != 0)
{
cout << i << "   ";
++counter;
}
}
getch ();
}

Я также изменил некоторые другие детали.

1

Другие решения

Разные вещи, которые нужно учитывать:

  • Лучше включить из <iostream> ISO <iostream.h> (добавлю ссылку, почему)
  • cout, cin а также endl находятся в std пространство имен, поэтому либо используйте правильное пространство имен, либо добавьте std::
  • Возвращаемый тип main () должен быть int. Если нет никакого оператора возврата, это будет 0 неявно.
    • Есть разница между operator< а также operator<<

Код:

    #include <iostream>

int main()
{
int i,n;

std::cout<<"input n"<<std::endl;
std::cin>>n;
std::cout<<"N Number that mod2=0 but mod3!=0"<<std::endl;

for (i=1;i<=n;i++)
if (i%2==0 && i%3!=0)
std::cout << i << std::endl;

return 0;
}
1

Не уверен, я получил вопрос полностью, но наиболее очевидным виновником является опечатка в строке:

cout<<i<"   ";

Заменить «<«с оператором вывода потока, то есть»<<».

0
По вопросам рекламы [email protected]