c语言数组函数求素数 c语言求数组中的素数

c语言 函数 数组 素数

编写一个函数实现判断一个整数是否是素数。如果输出也在函数内进行,才需要把数组传到函数中,否则只要传数组元素就可以了。

创新互联作为成都网站建设公司,专注网站建设、网站设计,有关企业网站建设方案、改版、费用等问题,行业涉及柔性防护网等多个领域,已为上千家企业服务,得到了客户的尊重与认可。

你原来的程序问题在于:

1. 缺少#include"math.h"。因为用到了sqrt();

2. if(ss(a[i])==1)语句中调用函数ss的格式与定义不符:a[i]不能传给a,且缺第二的参数。

3.  判断素数时,没有考虑对数字1的处理。

输出在主程序中进行的话,参考White_MouseYBZ网友的回答,进行修改即可。

如果打印也在函数中进行,原程序可改为:

#include"stdio.h"

#include"math.h"  //增加

main()

{

int a[10],n,i;

void ss(int a[],int n);

scanf("%d",n);

for(i=0;in;i++)

scanf("%d",a[i]);

ss(a,n);//调用函数,判断并输出

/×  for(i=0;in;i++)     //整体删除

if(ss(a[i])==1)

printf("%d\n";a[i]); ×/ 

}

void ss(int a[],int n)  //无需返回值,改成void

{ int k,i,j,result;

for(i=0;in;i++)

{ if(a[i]!=1)    //避免1判断为素数

{ k=sqrt(a[i]);

for(j=2;j=k;j++)

if(a[i]%j==0) break;

if(jk)  printf("%d ",a[i]); //输出素数

}

}

}

C语言程序设计题:求素数的个数

先编写一个判断素数的函数,类型为bool型

bool Isprime(int number)

{

for (int i = 2; i number; i++)

if (number mod i != 0)

return false;

return true;

}

上面的代码还可以继续优化,只是给你提供个思路

然后在主函数里面循环调用这个函数 比如数组num[N] 循环N次,将num[i] 作为参数调用上面的函数,然后看返回值,如果未true 素数的个数+1,就可以了

c语言数组求素数

#include stdio.h

int main(){

int a=0; // 素数的个数

int num=0; // 输入的整数

printf("输入一个整数:");

scanf("%d",num);

for(int i=2;inum;i++){

if(num%i==0){

a++; // 素数个数加1

}

}

if(a==0){

printf("%d是素数。\n", num);

}else{

printf("%d不是素数。\n", num);

}

return 0;

}

C语言程序如何设计求素数的个数?

先编写一个判断素数的函数,类型为bool型

bool Isprime(int number)

{

for (int i = 2; i number; i++)

if (number mod i != 0)

return false;

return true;

}

上面的代码还可以继续优化,只是给你提供个思路

然后在主函数里面循环调用这个函数 比如数组num[N] 循环N次,将num[i] 作为参数调用上面的函数,然后看返回值,如果未true 素数的个数+1,就可以了


当前题目:c语言数组函数求素数 c语言求数组中的素数
文章地址:http://hbruida.cn/article/doscspc.html