c语言:输出范围内的质数|练习题

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

c语言:输出范围内的质数|练习题_第1张图片

 

二、思路分析
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为质数

三、代码图片【带注释】

c语言:输出范围内的质数|练习题_第2张图片

 

四、源代码【带注释】

#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);
        }
    }
}

五、运行结果

c语言:输出范围内的质数|练习题_第3张图片

 

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

你可能感兴趣的:(c语言|练习题,c语言,算法,数据结构,开发语言)