#include<string.h>const int MAX=10005bool b[MAX]int main()
{
int i,j,k,m,f
//求出10000以内的所有素数。
memset(b,true,sizeof(b))
i=2
while(i<102)
{
if(b[i])
{
j=i*i
while(j<MAX)
{
b[j]=false
j+=i
}
}
i++
}
while(scanf("%d",&m)==1)
{
k=m>>1
i=2
while(i<=k)
{
if(b[i]&&b[m-i])
f=i
i++
}
printf("%d %d\n",f,m-f)
}
return 0
}
按照如下步骤即可用C语言判断素数:
1、首先打开visual C++ 6.0,然后点击左上角的文件,再点击新建。
2、然后在弹出的新建对话框中点击C++Source File。
3、在新建的文件文本框中输入预处理命令和主函数,即函数头和空类型。
4、然后再定义变量并输入一个数字,即定义变量的数据类型,输出文字提示,再输入一个数字。
5、然后用for函数和if函数判断是否是素数。
6、点击确定后即可成功创建刚刚新建的程序,随机输入一个数字即可验证一下刚刚创建的C语言。
不对。i<a/2应改为i<=a/2a=4时,不满足i<a/2的条件,不执行循环,返回值1。结果4是素数,其实4是合数。
其余的语句都是正确的。就是i从2开始,如果a能被i整除,说明i是a的因子,a是合数,返回值0,中断,结束循环。循环结束找不到能整除a的i,说明a是素数,返回值1。