鱼C论坛

 找回密码
 立即注册
查看: 1266|回复: 8

[已解决]五个数一行,怎么搞哇家人们

[复制链接]
发表于 2022-4-8 23:28:55 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

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

  2. int main()
  3. {
  4.         int i,j,num=0;
  5.         int flag=1;
  6.        
  7.         for(i=3;i<60;i++)
  8.         {
  9.                 for(j=2;j<=i/2;j++)
  10.                 {
  11.                         if(i%j==0)
  12.                         {
  13.                                 flag=0;
  14.                                 break;
  15.                         }
  16.                 }
  17.                 if(flag)
  18.                 {
  19.                         num++;
  20.                 }
  21.                 if(num%5==0)
  22.                 {
  23.                         printf("\n");
  24.                 }
  25.                 printf("%5d ",i);
  26.         }
  27.        
  28.         return 0;
  29. }
复制代码
最佳答案
2022-4-8 23:55:11
除了换行,你的代码也不对
  1. #include <stdio.h>
  2. #include <stdlib.h>

  3. int main()
  4. {
  5.     int i,j,num=1;
  6.     int flag=0;

  7.     for(i=2; i<60; i++)
  8.     {
  9.         flag=1;
  10.         for(j=2; j<=i/2; j++)
  11.         {
  12.             if(i%j==0)
  13.             {
  14.                 flag=0;
  15.                 break;
  16.             }

  17.         }

  18.         if(flag)
  19.         {
  20.             printf("%5d ", i);
  21.             if(num%5==0)
  22.             {
  23.                 printf("\n");
  24.             }
  25.             num++;
  26.         }

  27.     }

  28.     return 0;
  29. }
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-4-8 23:55:11 | 显示全部楼层    本楼为最佳答案   
除了换行,你的代码也不对
  1. #include <stdio.h>
  2. #include <stdlib.h>

  3. int main()
  4. {
  5.     int i,j,num=1;
  6.     int flag=0;

  7.     for(i=2; i<60; i++)
  8.     {
  9.         flag=1;
  10.         for(j=2; j<=i/2; j++)
  11.         {
  12.             if(i%j==0)
  13.             {
  14.                 flag=0;
  15.                 break;
  16.             }

  17.         }

  18.         if(flag)
  19.         {
  20.             printf("%5d ", i);
  21.             if(num%5==0)
  22.             {
  23.                 printf("\n");
  24.             }
  25.             num++;
  26.         }

  27.     }

  28.     return 0;
  29. }
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-4-9 00:04:13 | 显示全部楼层
  1. #include <stdio.h>
  2. int main()
  3. {
  4.         int i,j,num=0;
  5.         int flag=1;
  6.         printf("%5d ",2);
  7.         num=1;
  8.         for(i=3;i<60;i++)
  9.         {
  10.                 flag=1;
  11.                 for(j=2;j<=i/2;j++)
  12.                 {
  13.                         if(i%j==0)
  14.                         {
  15.                                 flag=0;
  16.                                 break;
  17.                         }
  18.                 }
  19.                 if(flag)
  20.                 {
  21.                         num++;
  22.                         printf("%5d ",i);
  23.                         if(num%5==0)printf("\n");
  24.                        
  25.                 }
  26.                
  27.                
  28.         }
  29.         
  30.         return 0;
  31. }
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-4-9 08:11:03 | 显示全部楼层
ba21 发表于 2022-4-8 23:55
除了换行,你的代码也不对

<stdlib.h>  需要用到这个头文件吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-4-9 08:12:46 From FishC Mobile | 显示全部楼层
嘉加嘉www 发表于 2022-4-9 08:11
需要用到这个头文件吗

不需要,但这应该不是重点,也不影响,主要是你的代码不正确。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-4-9 08:26:26 From FishC Mobile | 显示全部楼层
  1. #include <stdio.h>

  2. int isPrime(int num){
  3.         if(num < 2) return 0;
  4.         else if(num == 2) return 1;
  5.         for(int n = 2; n < (num >> 1) + 1; n++){
  6.                 if(!(num%n)) return 0;
  7.         }
  8.         return 1;
  9. }

  10. int main(){
  11.         for(int num = 0, m = 1; num < 60; num++){
  12.                 if(isPrime(num)){
  13.                         if(!(m%5)) printf("%d\n", num);
  14.                         else printf("%d ", num);
  15.                         m++;
  16.                 }
  17.         }
  18.         return 0;
  19. }
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-4-9 09:13:16 | 显示全部楼层
感谢各位,搞定啦
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-4-9 11:45:48 | 显示全部楼层
嘉加嘉www 发表于 2022-4-9 08:11
需要用到这个头文件吗

用不到,不过这2个头文件是最基本的头文件。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 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;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-8 07:33

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表