C语,编一个程序,输出1000以内所有素数.要求:设计一个函数,专门用于判断数值为素数.2 将素数每行8个

问题描述:

C语,编一个程序,输出1000以内所有素数.要求:设计一个函数,专门用于判断数值为素数.2 将素数每行8个
格式输出
#include
int isPrime(int a[]);
void output(int a[]);
#define n 1000
void main()
{
\x09int a[n];
\x09a[n]=isPrime(a);
\x09output(a);
}
int isPrime(int a[n])
{
\x09int i,x;
\x09for(i=2;i
1个回答 分类:综合 2014-11-22

问题解答:

我来补答
:改进后的程序效率大为提高判断997是素数只要循环到31即可结束,判断1000不是素数只要循环到2即可结束.同时不再需要使用数组.包含math.h是为了计算平方根.#include <stdio.h>#include <math.h>int isPrime(int a);void output(int a);#define n 1000void main(){int i,k=0;for(i=2;i<=n;i++){ if(isPrime(i)) {   printf("%4d",i);   if(++k%8==0)     printf("\n"); }}printf("\n");}
int isPrime(int a){int i,x;for(i=2;i<=sqrt(a);i++)        /*改进后的函数效率大为提高*/ if(a%i==0)return(0);return 1;}

再问: 两个问题:1.为什么求素数跟平方根有关系 2.int a被定义后并未说明大小,为什么后面可以直接使,(i
 
 
展开全文阅读
剩余:2000
上一页:椭圆简单性质
下一页:求解这个表格