#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开始的偶数无穷无尽。
似乎搞不清楚这里的逻辑错误。请帮帮我,好吗?
for循环的逻辑是不正确的。
int n = 10;
for(int a = 0; a <= n; a++) {
if(a%2==0){
printf(a);
}
}
请注意,这个循环是在0开始的,因为在CS中,几乎所有的计数都是从0开始的。
你的循环永远不会结束,应该是这样的。
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