- 阿啵呲嘚
-
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
void main()
{
int m,i;
float k; //改动这
printf ("input a number:");
scanf("%d",&m);
// k = sqrt(m);
k = sqrt(float(m)); //改动这
for (i=2; i <=k;i++)
if (m % i==0)
break;
if (i>k)
printf("yes ");
else
printf("no ");
}
//书上写的不一定对...
- Chen
-
k = sqrt(m);
K是int型的
sqrt()函数返回的不是int型,返回float型(或者double型...记不清了)
类型不一样,赋值就出错了。
i <=k只是for循环的判断条件,循环过程会执行i++,i的值是不断增长的。