新的编程。想用C语言做一个程序,打印偶数到10。想不通逻辑错误

问题描述 投票:0回答:1
#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
    }
}

我是编程新手。在这里,我试图做一个打印偶数到10的程序。执行这段代码会导致从10开始的偶数无穷无尽。

似乎搞不清楚这里的逻辑错误。请帮帮我,好吗?

c logic
1个回答
3
投票

for循环的逻辑是不正确的。

int n = 10;

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

请注意,这个循环是在0开始的,因为在CS中,几乎所有的计数都是从0开始的。


1
投票

你的循环永远不会结束,应该是这样的。

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
© www.soinside.com 2019 - 2024. All rights reserved.