欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

玩转C语言:在指定范围内找出所有的质数 - 练习题目

最编程 2024-08-08 21:15:59
...

一、题目
输入一个数n,输出n之内的所有质数
如图:

e646deabebdb4106b93fa5928f0d7692.jpg

 

二、思路分析
1、设置一个数num,从2开始,不断作+1操作,作为被除数
2、用一个不断自+1的数,除以num,如果num不能被整除,则为质数
3、例子:
输入num=4,则num里面有2、3、4三个数,
把2除以2;
3除以2、除以3;
4除以2、除以3、除以4。
当i=2时,除到最后一个数2前,i不能被整除,则i为质数
当i=3时,除到最后一个数3前,i不能被整除,则i为质数
当i=4时,除到最后一个数4前,i不能被整除,则i为质数

三、代码图片【带注释】

c56df94e3ecc4c0b82e54376d5a839cc.jpg

 

四、源代码【带注释】

#include 
int main()
{
    int num=0;
cc:
    printf("输入一个大于1数字:");
    scanf("%d",&num);

    //当num小于等于1时,输入有误
    if(num<=1)
    {
        printf("输入有误,请重新输入\n");
        goto cc;
    }
    panDuanZhiShu(num);//调用[判断质数]函数
}

panDuanZhiShu(int num)
{
    int i,j;
    printf("\n%d以内的质数为:",num);
    for(i=2; i<=num; i++)
    {
        for(j=2; j<=i; j++)
        {
            //被除数能被整除,则跳出第一重循环
            if(i%j==0)
            {
                break;
            }
        }
        //注意:当循环结束时,如果j循环到最后一个数为i,则输出i
        //比如:i=5,当i=5除以j=2、3、4、5都无法整除,则跳出循环
        //当j=5时,即已除了除1和其自身外的所有的数,也无法整除
        //所以,该数为质数
        if(j==i)
        {
            printf("%d ",i);
        }
    }
}

五、运行结果

9c93b074fc444a8d9c9257184f7499c4.jpg

 

关注我, 每天分享编程知识