Новое в программировании. Попытка создать программу на C, которая печатает четные числа до 10. Не могу понять ошибку logi c - PullRequest
0 голосов
/ 28 апреля 2020
#include <stdio.h>

main()
{
    int n=10;

    for(int a=n;a>=1;a++)  //for bringing out numbers from 1-10
    {
       int e=a%2; //int e to figure out if the number is even(divisible by 2)
       if(e==0)
        printf("%d\n",a); //printing the even numbers
    }
}

Я новичок в программировании. Обучение C. Здесь я пытаюсь создать программу, которая печатает четные числа до 10. Выполнение этого кода приводит к бесконечным четным числам, начиная с 10.

Кажется, что здесь не может быть обнаружена ошибка logi c. Помогите, пожалуйста?

Ответы [ 2 ]

3 голосов
/ 28 апреля 2020

Лог c для for для l oop неверно.

int n = 10;

for(int a = 0; a <= n; a++) {
    if(a%2==0){
        printf(a);
    }
}

Обратите внимание, что это значение 0, потому что в CS почти все время счет начинается с 0.

1 голос
/ 28 апреля 2020

Ваш l oop никогда не закончится, он должен быть:

for(int a = 1; a <= 10; a++)

Вся программа должна быть такой:

#include <stdio.h>

int main(void)
{ 
  for(int a = 1; a <= 10; a++)  //for bringing out numbers from 1-10    
    {
      int e = a % 2; //int e to figure out if the number is even(divisible by 2)
      if(e == 0)
        printf("%d\n", a); //printing the even numbers
    }
}

Вывод:

2
4
6
8
10
...