#include<stdio.h>
#include<math.h>
int main()
{
int a,b,d,c=0;
for(a=101;a<=200;a=a+2)
{d=sqrt(a);
for(b=2;b<=d;b++)
if(a%b==0)break;
if(a>=d+1)
{printf("%d",a);
c=c+1;
}
if(c%10==0)printf("\n");
}
printf("\n");
return 0;
}
#include<stdio.h>
#include<math.h>
int main()
{
int n,k,i,m=0;
for(n=101;n<=200;n=n+2)
{k=sqrt(n);
for(i=2;i<=k;i++)
if(n%i==0)break;
if(i>=k+1)
{printf("%d",n);
m=m+1;
}
if(m%10==0)printf("\n");
}
printf("\n");
return 0;
}
if (a >= d + 1) 这里a应该改成b
你题目的解答代码如下:
#include <stdio.h>
#include <math.h>
int main()
{
int a, b, d, c = 0;
for (a = 101; a <= 200; a = a + 2)
{
d = sqrt(a);
for (b = 2; b <= d; b++)
if (a % b == 0)
break;
//if (a >= d + 1)
if (b >= d + 1) // 这里a应该改成b
{
printf("%d ", a);
c = c + 1;
}
if (c % 10 == 0)
printf("\n");
}
printf("\n");
return 0;
}
如有帮助,望采纳!谢谢!
第一个你要拿因数跟d做判断啊,你这个因数就是b,a是原本的数字,d等于根号a,肯定小于a,还有注意大括号,for循环必带大括号你这个写的真的不规范