#include<math.h>
main()
{ int a,b,m,k,i,n=0;
printf(“input a and b:\n”);
scanf("%d%d",&a,&b);
for(m=a;m<=b;m++)
{ if(!(n%5)) printf(“\n");
k=sqrt(m);
for(i=2;i<=k;i++)
if(!(m%i)) break;
if(i>=k+1)
{printf(“%-5d",m); n++;}
}
}
输入数据:100 110<回车>,结果为 答案
A.100 102 104 106 108 110
B.100102104106108110
C.101 103 107 109
D.101103107109
求大于a(100)小于b(110)范围内质数吧,gdb调试看吧,就能看到他的流程了,只是绕人而已,并不复杂,写出来流程估计也没心思看。简单说:每五个一组(回车),m在a到b范围内变化,m不能被2到自己(m)的开方整除,则输出该数(质数就是这么求的)。
#include<stdio.h>
void prime(int a)
{
int i;
for(i=2;i<a;i++)
{
if(a%i==0)
break;
}
if(i==a)
{
printf(" %d",a);
}
}
int main()
{
int a,b,c;
scanf("%d%d",&a,&b);
if(a>b)
{
c=a;
a=b;
b=c;
}
for(;a<=b;a++)
{
prime(a);
}
return 0;
}
注意代码规范啊,老兄.
求大于100(a)小于110(b)范围内和110(b)的质数吧,gdb调试看吧,就能看到他的流程了,只是绕人而已,并不复杂,写出来流程估计也没心思看。简单说:每五个一组(回车),m在a到b范围内变化,m不能被2到自己的开方整除,则输出该属。