c编程:用户输入一个数值n,打印出出1到n之间的所有质数


#include <stdio.h>


int func(int i )

{

    //定义一个变量temp2,当主函数引入的数大于temp时进入for循环。当它在比自己小的数中找到一个能背整除的数时返回0,也就是说这个数不是质数。如果遍历完所有的比自己小的数也找不到一个能被整除的数,就说明这个数是质数。返回1,通过temp的递增实现遍历。;

    int temp=2;

    for(temp=2;temp<i;temp++)

    {

        if(i%temp==0)

            return 0;

    }

    return 1;

}




int main(int argc, const char * argv[])

{

    printf("请输入n=");

    

    //定义两个变量。in,i用于循环的时候计数用。用来接收用户输入的数据。

    int i=1,n=0;

    

    scanf("%d",&n);

    

    //因为是1——n之间的值,所以在for循环中初始值为1,当i<=100的时候才进入循环体。否则结束程序。每执行一次循环体i的值加一。

    for(i=1;i<=n;i++)

    {

        //当遍历1——100之间的数时,当i是质数就把i的值打印出来。而func()这个函数就是运算i是不是质数的关键。如果i的返回值是1 就表明其是质数,如果i的返回值不是1就继续循环(遍历)

        if(func(i)==1&&i!=1)

            printf(" %d",i);

    }

    return 0;

}


版权声明:本文为博主原创文章,未经博主允许不得转载。

posted @ 2015-07-20 22:59  王刚韧(wanghy_iOS)  阅读(1370)  评论(0编辑  收藏  举报