|
发表于 2018-1-31 14:23:16
|
显示全部楼层
#include <stdio.h>
#include <math.h>
int main(void)
{
int m, i;
double k;
m = 100; //m应该从100开始
while ( m <= 200 )
{
k = sqrt((double)m); //sqrt函数的输入应该是double类型
for ( i = 2; i <= k; i++ ) //i应该从2开始进行判断
{
if ( m%i == 0 )
{
break;
}
}
if ( i > k ) //这个位置有两种选择:第一,如果你的K是double类型的 这里用i>k
// 第二,如果你的K是int类型的,这里可以用i>=k+1 具体为什么你可以选择单步调试就懂了
{
printf("%d\n", m);
}
m = m + 1; //这里应该是+1啊
}
return 0;
}
/*************************************
--------------------------------------
附带上运行结果:
101
103
107
109
113
127
131
137
139
149
151
157
163
167
173
179
181
191
193
197
199
请按任意键继续. . .
----------------------------------------
****************************************/ |
|