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);
}
看错在哪里?
#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为不命中条件
效率会高些