下面的一个程序,我有两个疑问。
1.每当我输入一个不是素数的数时,屏幕上会给出NO,但是我输入的数越大,这个NO也会越多。我怎么才能使NO只出现一次呢。要用break之类的语句吗。
2. 在程序第十行中,如果我不加";"的话,VC++6.0告诉我说有error,这一点比较奇怪,我记得for后面不应该加冒号啊。
不知道怎么回事。
问题:输入一个数,判断是否为素数。
#include<stdio.h>
#include<math.h>
main()
{
int i,x;
scanf("%d",&x);
for(i=2;i<=x-1;i++)
if(x%i==0) printf("NO\n");
for(i=2;i<=x/2;i++)
for(i=2;i<=sqrt(x);i++);
}
第十行不加冒号时出错信息为:
C:\Documents and Settings\w\桌面\111\project\1.c(11) : error C2143: syntax error : missing ';' before '}'