C++编程问题?编写一个函数判断一个数是否为素数,并在主函数中通过调用该函数求出所有三位数的素数。
编写一个函数判断一个数是否为素数,并在主函数中通过调用该函数求出所有三位数的素数。
编写一个函数判断一个数是否为素数,并在主函数中通过调用该函数求出所有三位数的素数。
答案:#include <math.h>
#include <stdio.h>int isPrime(int i);
int main(void)
{
int c = 0, i;for (i=100; i<1000; i++)
if (isPrime(i))
{
printf("%4d", i);
c++;/* 每行显示5个数 */
if (c%5 == 0)
printf("\n");
}return 0;
}int isPrime(int i)
{
int x;
int y = (int)ceil(sqrt(i)); /* int y = (int)(sqrt(i + 1)); */if (i == 2)
return 1;if (i%2==0 || i<2) /* 过滤所有偶数及既不是素数又不是合数的情况 */
return 0;for (x=3; x<=y; x++)
if (i%x == 0)
return 0;return 1;
}