输出50到100所有质数的c语言编程

如题所述

/**
**程序说明:质数也叫素数。
*/
#include <stdio.h>
#include <math.h>
//判断整数是否为素数
int isPrime(int n)
{
    int i;
    for(i=2;i<=(int)sqrt(n);i++) //遍历从2~n的平方根向下取整
        if(n%i == 0)  //如果有i能被n整除,则n不是素数,返回0,否则返回1
            return 0;
    return 1;
}
//求某一范围内的所有素数
void qiuPrimeNumber(int start,int end)
{
int i,j,count;
for(i=start,count=0;i<=end;i++)
if(isPrime(i))  //调用素数判断函数
{
printf("%-4d",i);
count++;
if(count % 10 == 0) //输出10个素数则输出一个换行
{
printf("\n");
count=0;
}
}
}
int main()
{
printf("50~100之间的所有质数为:\n");
qiuPrimeNumber(50,100);  //调用函数求出50~100内的所有质数
return 0;
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-05-27
#include <stdio.h>

bool is_prime(int n)
{
    if(n<2)
        return false;
    for (int i=2;i*i<=n;i++)
    {
        if(n % i == 0)
            return false;
    }
    return true;
}
int main()
{
    for (int i = 50; i <= 100; i++)
    {
        // 如果是质数,则打印
        if (is_prime(i))
        {
            printf("%d ", i);
        }
    }
    return 0;
}

本回答被网友采纳
第2个回答  2017-07-20
/**
**程序说明:质数也叫素数。
*/
#include <stdio.h>
#include <math.h>
//判断整数是否为素数
int isPrime(int n)
{
    int i;
    for(i=2;i<=(int)sqrt(n);i++) //遍历从2~n的平方根向下取整
        if(n%i == 0)  //如果有i能被n整除,则n不是素数,返回0,否则返回1
            return 0;
    return 1;
}
//求某一范围内的所有素数
void qiuPrimeNumber(int start,int end)
{
    int i,j,count;
    for(i=start,count=0;i<=end;i++)
        if(isPrime(i))  //调用素数判断函数
        {
            printf("%-4d",i);
            count++;
            if(count % 10 == 0) //输出10个素数则输出一个换行
            {
                printf("\n");
                count=0;
            }
        }
}
int main()
{
    printf("50~100之间的所有质数为:\n");
    qiuPrimeNumber(50,100);  //调用函数求出50~100内的所有质数
    return 0;
}

第3个回答  2017-08-04
/**
**程序说明:质数也叫素数。
*/
#include <stdio.h>
#include <math.h>
//判断整数是否为素数
int isPrime(int n)
{
    int i;
    for(i=2;i<=(int)sqrt(n);i++) //遍历从2~n的平方根向下取整
        if(n%i == 0)  //如果有i能被n整除,则n不是素数,返回0,否则返回1
            return 0;
    return 1;
}
//求某一范围内的所有素数
void qiuPrimeNumber(int start,int end)
{
    int i,j,count;
    for(i=start,count=0;i<=end;i++)
        if(isPrime(i))  //调用素数判断函数
        {
            printf("%-4d",i);
            count++;
            if(count % 10 == 0) //输出10个素数则输出一个换行
            {
                printf("\n");
                count=0;
            }
        }
}
int main()
{
    printf("50~100之间的所有质数为:\n");
    qiuPrimeNumber(50,100);  //调用函数求出50~100内的所有质数
    return 0;
}

第4个回答  2017-08-09
int prime(int n)//素数除了1和它本身不能被其他数整除  
{  
    assert(n > 0);  
    int i = 0;  
    for (i = 2; i <= sqrt(n); i++)  
    {  
        if (n%i == 0)  
        {  
            return 0;  
        }  
    }  
    return 1;  
  
}  
int main()  
{  
    int i = 0;  
    int count = 0;  
    printf("1-100之间的素数从小大为;\n");  
    for (i = 50; i < 100; i++) //依次判断是否为素数  
    {  
        if (prime(i))  
        {  
            count++;   //统计素数的个数  
            printf("%d\t", i);  
        }  
    }  
    printf("\n一共有%d个\n", count);  
    system("pause");  
    return 0;  
}