嘉加嘉www 发表于 2022-4-8 23:28:55

五个数一行,怎么搞哇家人们

这是打印60以内所有素数,需要5个数一行,这五个数一行怎么搞啊?
#include <stdio.h>

int main()
{
        int i,j,num=0;
        int flag=1;
       
        for(i=3;i<60;i++)
        {
                for(j=2;j<=i/2;j++)
                {
                        if(i%j==0)
                        {
                                flag=0;
                                break;
                        }
                }
                if(flag)
                {
                        num++;
                }
                if(num%5==0)
                {
                        printf("\n");
                }
                printf("%5d ",i);
        }
       
        return 0;
}

ba21 发表于 2022-4-8 23:55:11

除了换行,你的代码也不对
#include <stdio.h>
#include <stdlib.h>

int main()
{
    int i,j,num=1;
    int flag=0;

    for(i=2; i<60; i++)
    {
      flag=1;
      for(j=2; j<=i/2; j++)
      {
            if(i%j==0)
            {
                flag=0;
                break;
            }

      }

      if(flag)
      {
            printf("%5d ", i);
            if(num%5==0)
            {
                printf("\n");
            }
            num++;
      }

    }

    return 0;
}

jhq999 发表于 2022-4-9 00:04:13

#include <stdio.h>
int main()
{
      int i,j,num=0;
      int flag=1;
      printf("%5d ",2);
        num=1;
      for(i=3;i<60;i++)
      {
                flag=1;
                for(j=2;j<=i/2;j++)
                {
                        if(i%j==0)
                        {
                              flag=0;
                              break;
                        }
                }
                if(flag)
                {
                        num++;
                        printf("%5d ",i);
                        if(num%5==0)printf("\n");
                       
                }
               
               
      }
      
      return 0;
}

嘉加嘉www 发表于 2022-4-9 08:11:03

ba21 发表于 2022-4-8 23:55
除了换行,你的代码也不对

<stdlib.h>需要用到这个头文件吗

傻眼貓咪 发表于 2022-4-9 08:12:46

嘉加嘉www 发表于 2022-4-9 08:11
需要用到这个头文件吗

不需要,但这应该不是重点,也不影响,主要是你的代码不正确。

傻眼貓咪 发表于 2022-4-9 08:26:26

#include <stdio.h>

int isPrime(int num){
        if(num < 2) return 0;
        else if(num == 2) return 1;
        for(int n = 2; n < (num >> 1) + 1; n++){
                if(!(num%n)) return 0;
        }
        return 1;
}

int main(){
        for(int num = 0, m = 1; num < 60; num++){
                if(isPrime(num)){
                        if(!(m%5)) printf("%d\n", num);
                        else printf("%d ", num);
                        m++;
                }
        }
        return 0;
}

嘉加嘉www 发表于 2022-4-9 09:13:16

感谢各位,搞定啦

ba21 发表于 2022-4-9 11:45:48

嘉加嘉www 发表于 2022-4-9 08:11
需要用到这个头文件吗

用不到,不过这2个头文件是最基本的头文件。

cjgank 发表于 2022-4-10 16:37:49

#include <stdio.h>

int main()
{
    int i, j, num = 0;
    //素数的定义:大于1且只能被1和它自身整数的数
    for (i = 3; i < 60; i++)//打印0~60内的素数
    {
      for (j = 2; j < i; j++)
      {
            if (i % j == 0)
               break;
      }
      if (j >= i)
      {
            num++;
            printf ("%2d ", i);
            if (num % 5 == 0)
                printf ("\n");
      }
    }
    return 0;
}
页: [1]
查看完整版本: 五个数一行,怎么搞哇家人们