C语言编程问题...

来源:百度知道 编辑:UC知道 时间:2024/06/25 11:53:20
输入一个数求是否素数:
看错在哪里?
#include<stdio.h>
void main()
{
int i,n;
scanf("%d",&n);
while(i<n)
{
if(n%i==0)
break;
else
i++;
}
if(i==n)
printf("yes%d\n",n);
else
printf("no%d\n",n);
}

i没初始化,
第一句改为:
int i=2,n;

if(i==n) //这里错了,应该是 if( i != n )
printf("yes%d\n",n);
else
printf("no%d\n",n);

另外i要初始化为2
int i,n;
i=2;

错误同楼上,
i*i==n为命中条件
i*i>n为不命中条件
效率会高些