前50个正数可被4整除

时间:2014-01-13 15:18:51

标签: c

这是我达到的代码。 我没有得到的是x应该停止的条件。我知道我写的是错的。

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

int main()
{
    int x, i;
    for(i=0; i<=50; i++)
        {
            for (x=0;x<=50 ;x++ )
            {
                if (x%4==0)
                printf ("%d\n", x);
            }
        }
    return 0;
}

5 个答案:

答案 0 :(得分:2)

简单解决方案,正如艺术在上面的评论中所建议的那样:

for(unsigned int c=1; c<=50; c++)
{
   printf ("%d\n", c*4);
}

原始答案:一个循环就足够了。并且增加4(每4个数字可被4整除,没有其他):

int curNum=4;
for(unsigned int c=1; c<=50; c++, curNum+=4)
{
   printf ("%d\n", curNum);
}

所以你看我们有两个变量,一个计算我们已经打印的数字(c),另一个包含要打印的当前数字(curNum)。

答案 1 :(得分:0)

int main()
{
    int x = 0;
    int i = 0;

    while(i<50)
    {
        if (x % 4==0)
        {
            printf ("(result %d) %d is divisible by 4\n", i, x);
            i++;
        }
        x++;
    }
    return 0;
}

答案 2 :(得分:0)

无需使用嵌套的for循环。试试这个

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

int main()
{
    int i = 0, count = 1;
    while(1)
    {
        if (i%4==0)
            printf ("%d\n", i);
        i++; 
        if (count++ == 50)
            break;
    }
    return 0;
}  

答案 3 :(得分:0)

使用此代码,您显示的数字少于50,可被4&amp;然后你打印50次。虽然你的问题已得到解答,但你是否一心想要检查一个数字是否可以被4&amp;使用两个for循环,这可能有用。

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

int main()
{
int x=0, i;
for(i=0; i<=50; i++)
    {
        for(;;)
            {
                if(x%4==0)
                  {
                    printf("\n%d",x);
                    x++;
                    break;
                  } 
                  x++;    
            }
    }
return 0;
}

答案 4 :(得分:-2)

你只需要一个

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

int main()
{
    unsigned int n = 0;
    unsigned int i = 0;
    while(n < 50)
        {
                if (i%4==0){
                 printf ("%d\n", i);
                 ++n;
                }
                ++i;
        }
    return 0;
}