Считыватель простых чисел - PullRequest
0 голосов
/ 18 февраля 2019

Это мой первый пост здесь, поэтому он может выглядеть не очень хорошо.Я пытаюсь написать код для чтения, если число является простым числом.Я искал некоторую помощь, так как это мой код прямо сейчас:

#include <iostream>
#include <stdio.h>


int main()
{
  int getal;
  int i;

  printf("Voor een getal in: ");
  scanf("%/n", &getal);


  for(i = 2; i <= getal / 2; ++i)
  {
    if(getal % i == 0)
    {
      printf("Dit is een priemgetal");
      system("PAUSE");
    }
    else 
    {
      printf("Dit is geen priemgetal");
    }
  }
  return 0;
}

Проблема в том, что он не покажет мне printf в конце.

1 Ответ

0 голосов
/ 04 марта 2019

В вашем коде есть несколько проблем:

  • нет необходимости включать файл C ++ <iostream>
  • и наоборот, вы должны включить <stdlib.h>, который определяет system()функция.
  • строка формата scanf("%/n", &getal); неверна.Вместо этого используйте "%d".
  • сообщение не должно быть напечатано для каждого пробного делителя, вы должны использовать дополнительную переменную для простого теста и напечатать сообщение в конце.
  • закончите выводс новой строкой.
  • Вы программируете в IDE со слабой средой исполнения.Ваша программа показывает вывод, но закрывает окно немедленно, если вы не запрашиваете ввод пользователя.Переместите system("PAUSE"); в конец функции main.

Вот исправленная версия:

#include <stdio.h>
#include <stdlib.h>

int main() {
    int getal;
    int i;
    int isprime;

    printf("Voor een getal in: ");
    scanf("%d", &getal);

    isprime = 1;
    for (i = 2; i <= getal / 2; ++i) {
        if (getal % i == 0) {
            isprime = 0;
            break;
        }
    }
    if (isprime) {
        printf("Dit is een priemgetal\n");
    } else {
        printf("Dit is geen priemgetal\n");
    }
    system("PAUSE");
    return 0;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...