C语言编程:输入N个整数 ,统计素数的个数。

要求程序有2个文件 著称,一个 文件 中编写 main函数 ,另一文件中编写素数 判断 的 函数 。要使用文件包含 的方式实现。

00.c:
int isprime(int n)
{for(int i=2;i*i<=n;i++)
   if(n%i==0)return 0;
 return n>1;  
}
0.c:
#include<stdio.h>
#include<d:\\00.c>
int main()
{int x=1,n,k=0;
 scanf("%d",&n);
 while(n--)
 {scanf("%d",&x);
  k+=isprime(x);
 }
 printf("%d\n",k);
 return 0;
}

温馨提示:内容为网友见解,仅供参考
第1个回答  2010-04-10
在工程中建立一个头文件head.h,一个资源文件test.cpp。
其中头文件的代码是:
//function if prime
int isprime(int num)
{
int i , flag = 1;
if(num == 2)
return 1;
else
for(i = 2 ; i <= num / 2 ; i++)
if(num % i == 0)
{
flag = 0;
break;
}
if(flag == 0)
return 0;
else
return 1;
}
资源文件的代码是:
#include <stdio.h>
#define N 10
#include "head.h"
void main()
{
int num , k = 0;
printf("Please rnter %d integers:\n" , N);
for(int i = 0 ; i < N ; i++)
{
scanf("%d" , &num);
if(isprime(num) == 1)
k++;
}
printf("You have entered %d primes.\n" , k);
}
其中的N你可以自己决定为多少本回答被提问者采纳
第2个回答  2018-03-28
prim.h 素数方法
Main.c
#include "prim.h"
int main(){
代码

}

C语言编程:输入N个整数 ,统计素数的个数。
00.c:int isprime(int n){for(int i=2;i*i<=n;i++) if(n%i==0)return 0; return n>1; }0.c:#include<stdio.h>#include<d:\\\\00.c>int main(){int x=1,n,k=0; scanf("%d",&n); while(n--) {scanf("%d",&x); k+=isprime(x); } printf("%d\\n",k); ...

...到大排序输出,再求出此n个整数中所有奇数和及所有素数的个数...
void main(){ int n,num[MAX],i,j,k,a = 0,b = 0;\/\/ 输入 printf("输入总数N:");scanf("%d",&n);for(i=0;i<n;i++){ printf("输入每个数的值Num%d:",i+1);scanf("%d",&num[i]);} \/\/ 排序 for(i=0;i<n-1;i++){ for(j=0;j<n-1-i;j++){ if(num[j]...

C语言程序设计题:求素数的个数
{ for (int i = 2; i < number; i++)if (number mod i != 0)return false;return true;} 上面的代码还可以继续优化,只是给你提供个思路 然后在主函数里面循环调用这个函数 比如数组num[N] 循环N次,将num[i] 作为参数调用上面的函数,然后看返回值,如果未true 素数的个数+1,就可以...

c语言输入一个n值,输出1-n之间所有素数之和及素数的个数
include "stdio.h"int prime(int n){\/\/素数判断int i;if(n>2 && !(n&1) || n<2)return 0;for(i=3;i*i<=n;i+=2)if(!(n%i))return 0;return 1;}int main(int argc,char *argv[]){int n,s,i;printf("Please enter n(int 0<n)...\\n");if(scanf("%d",&n)!=1 ...

C语言求救:统计素数个数
include<stdio.h>#include <math.h>void main(){int n,i,j,ri,flag,num;scanf("%d",&n);num=0;for(i=2;i<=n;i++){flag=1;ri=int(floor(sqrt(1.0*i)));for(j=2;j<=ri;j++){if(i%j==0){flag=0;break;}}if(flag)num++;}printf("%d",num);} ...

如何用c语言编写一个计算素数的程序?
print("\\n共计%d个素数。" % count)程序中首先定义了一个名为isPrime的函数,用于判断一个数是否为素数。当n小于等于1时,直接返回False;当n大于1时,对于从2到n的平方根的所有数进行判断,如果n能够被这些数整除,则n不是素数;如果不存在这样的数,则n是素数。接下来,程序使用循环从2到999...

...之内所有的素数(注意:素数即质数)及个数(C语言)
源代码如下:include <stdio.h> include <math.h> void main(){ int n=0, i, j,w,k;for(i=2;i<=1000; i++){ w=1;k=sqrt(i);for (j=2; j<=k; j++)if (i%j==0) {w=0;break;} if (w) { ++n;if (n%10==0) printf("%d\\n",i);else printf("%d\\t",i);...

用C语言编程求:n以内素数的个数(n<10^8)
首先肯定要定义成long 型了 这个n 从以下几方面进行处理:1:偶数者除了2以外均不是,任务将缩短一半 可采用 n+=2实现 2:最后一位是5的除了5以外不是素数,任务在1的基础上缩短1\/5 3:在判断能被3及根号或一半n之间的数据时,也采用全用质数的方法i+=2 以及除去尾数是5的数。这样在每个n...

C语言编程求素数的个数,计算1到1000000000(10亿)以内的素数个数,有多少...
不知道有没有国际最优,但我这个算法很顶尖了:计算1亿以内的素数个数不到2秒钟!1到10000000000(10亿)共有素数50847534个,计算时间大概20多秒!程序如下:#include<iostream> using namespace std;int main(){int CompositeNumFilterV3(int);int m,c;cin>>m;c=CompositeNumFilterV3(m);cout<<...

C语言编程求3-100之间所有的素数及其个数
int Is_Prime(int x)\/*素数函数*\/ { int k=sqrt(x)+1;int i;for (i=2;i<=k;i++){ if (x%i==0){ return 0;} } return 1;} int main(){ int n,count=0;for(n=3;n<=100;n++){ if(Is_Prime(n)){ printf("%d\\n",n);count++;} } printf("个数为%d",count);...

相似回答