如何用c语言编写出判断一个数是否为质数的程序

如题所述

新建一个Win32 Console Application,创建一个Hello World!程序,把如下代码粘进去运行。

#include "stdafx.h"
#include <stdio.h>
void main()
{
int a,k=0;
printf("请输入大于1的正整数:");
scanf("%d",&a);
for(int i=2;i<a;i++)
if(a%i==0) {k=1;break;}
if(k) printf("%d不是质数!可以被%d整除!\n",a,i);
else printf("%d是质数!\n",a);
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-11-28
#include <stdio.h>
#include <math.h>
//n不能够被不大于根号n的任何素数整除,则n是一个素数
//以下代码计算1000以内所有素数
int main()
{
int i,j,n = 1000,sq;

for(i = 2;i < n;i ++)
{
sq = sqrt(i);
for(j = 2;j <= sq;j ++)
{
if(!(i % j))
break;
}
if(sq < j)
printf("%4d",i);
}
putchar('\n');
return 0;
}本回答被提问者和网友采纳
第2个回答  2010-12-03
#include <stdio.h>
#include <math.h>

int isPrime(int n)
{
int i;
for(i=2;i<=sqrt(n);i++)
if(n%i==0)
return 0;
return 1;
}

void printPrime(int a,int b)
{
int i;
for(i=a;i<=b;i++)
if(isPrime(i))
printf("%d ",i);
printf("\n");
}

int main()
{
int a,b;
printf("请输入你要打印的素数区间:\n");
scanf("%d %d",&a,&b);
printPrime(a,b);
return 0;
}
第3个回答  2010-12-03
循环加if嵌套
第4个回答  2010-12-03
质数又称素数。指在一个大于1的自然数中,除了1和此整数自身外,没法被其他自然数整除的数
。。。。
相似回答