#include
int fun3(int m);
int main(void)
{ int n;
for (n = 1; n < 10; n++)
if (fun3(n) == 1) printf("%d ", n); /* %d后有1个空格 */
return 0;
}
int fun3(int m)
{ int i;
if (m == 2 || m == 3) return 1;
if (m < 2 || m % 2 == 0) return 0;
for (i = 3; i < m; i = i + 2)
if (m % i == 0) return 0;
return 1;
}
这个代码什么意思?最后输出2 3 5 7
这段代码实现了一个简单的功能,即输出1到9之间的所有素数。
主函数中使用了一个for循环,从1到9依次遍历每个数字,然后调用函数fun3来判断这个数字是否是素数。如果fun3返回值为1,表示这个数字是素数,就在控制台输出这个数字。
函数fun3用来判断一个数字m是否是素数。如果m等于2或3,则直接返回1,因为这两个数字是素数。如果m小于2或者m是偶数,则返回0,因为这些数字肯定不是素数。对于其他大于3的奇数m,函数fun3通过循环检查m是否能被比它小的奇数整除来判断它是否是素数,如果找到了一个能整除m的奇数,则m不是素数,返回0。如果没有找到这样的奇数,则m是素数,返回1。
因此,这段代码的输出结果应该是:
2 3 5 7
显然是求质数的函数吧,判断10以内的质数。写的太奇怪了,判断质数也不用这么啰嗦啊