c语言中的问题,高手指教

来源:百度知道 编辑:UC知道 时间:2024/05/21 19:53:08
#include <stdio.h>
#include <math.h>
void main()
{
int m,k,i,n=0;
for(m = 101; m<= 200; m = m+2)
{
k = sqrt(m);
for(i=2;i<=200;i++)
if(m%i==0)
break;
if (i>=k+1)
{
printf("%d",m);
n = n+1;
}
if (n%10==0)
printf("\n");
}
printf("\n");
} //问 这里的K等于M的开方 为什么k老是等于10啊?

因为你定义K为整型,所以在m=121以前,开方得的值取整都是10.
如果你需要有不同的值,那你把K定义为float型吧
这样的话你就能体会到不相同的地方了

支持wuming0214