鱼C论坛

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

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

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

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

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

x
这是打印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;
}
最佳答案
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;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

使用道具 举报

发表于 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;
}
想知道小甲鱼最近在做啥?请访问 -> 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 | 显示全部楼层
#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;
}
想知道小甲鱼最近在做啥?请访问 -> 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-10-5 18:27

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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