写到这边...
#include "stdio.h"
main()
{
int i,j;
for(i=101;i<=200;i++)
for (j=2;j<i;j++)
if (i%j==1) printf ("%d\t",i);
}
忽然不知接下来该如何了........
我用的是VC++6.0,
//求任意两个数之间的素数
#include <stdio.h>
int main()
{
int num1,num2;
int i,j,flag=0; //flag用于控制状态
num1 = 0;
num2 = 0;
//控制依次输入两个从小到大的正整数
do
{
printf("请输入两个正整数:");
scanf("%d%d",&num1,&num2);
}while(!(num1>0&&num1<num2));
printf("%d与%d之间的素数为:\n",num1,num2);
//判断较小的数是否为1或2,如果为1或2,则独立输出2
if(num1==1||num1==2)
{
printf("%d\t",2);
num1 = 3;
}
//求素数,并输出这些素数
//排除能被2整除的数
for(i=num1;i<=num2;i++)
{
if(!(i%2)) //能被2整除
{
continue;
}
//排除能被3~“最大数的一半”整除的数
for(flag=1,j=3;j<=i/2;j+=2)
{
if(!(i%j)) //能被3~“最大数的一半”
{
flag=0;
}
}
if(flag)
{
printf("%d\t",i);
}
}
return 0;
}
[此贴子已经被作者于2006-2-14 23:45:48编辑过]