用C语言写一个判素数的函数,在主函数输入一个整数,输出是否素数的信息。

用C语言写一个判素数的函数,在主函数输入一个整数,输出是否素数的信息。,第1张

输出是否素数的信息的源代码如下:

#include <stdioh>

#include <stdboolh>

bool prime(int x){

if (2 > x ) {

return false;

}

for (int i = 2; i < x ; i++) {

if (0 == x % i ) {

return false;

}

}

return true;

}

int main(){

for (int i = 2; i < 100; i++) {

if (prime(i)) {

printf("%d ",i);

}

}

printf("\n");

return 0;

}

扩展资料

1、函数的使用可以身故重复代码的编写。

2、函数使得程序更加模块化,有利于程序的阅读修改和完善。

3、素数就是没有因子的数,只能被1和本身整除,所以我们就可以用循环解决,循环用于从2到他的根式判定是否有其他数可以整除它,有就跳出循环。

#include <stdioh>

#include <mathh>

//判断整数是否为素数

int isPrime(int n)

{

    int i;

    for(i=2;i<=(int)sqrt(n);i++) //遍历从2~n的平方根向下取整

        if(n%i == 0)  //如果有i能被n整除,则n不是素数,返回0,否则返回1

            return 0;

    return 1;

}

//编写测试主函数

int main()

{

    int n;

    scanf("%d",&n);

    if(n<2)

    {

        printf("输入错误!\n");

        return -1;

    }

    if(isPrime(n))  //调用素数判断函数

        printf("%d is a prime number\n",n);

    else

        printf("%d is not a prime number\n",n);

    return 0;

}

示例运行结果:

#include&lt;stdioh&gt;

void main()

{

int a,c;

int isSus(int n);/函数声明/

printf("请输入一整数a:\n");

scanf("%d",&a);

c=isSus(a);/函数调用/

printf("%d",c);

printf("\n");

}

int isSus(int n)/函数定义/

{

int j,t;

for(j=2;j&lt;n;j++)

if(n%j==0)

{

t=0;

break;

}

else

t=1;

return t;

}

扩展资料:

做c/c++编程的对#include指令都不会陌生,绝大多数人也都知道如何使用,但我相信仍有人对此是一知半解的,

C:

#include&lt;stdioh&gt;

C++:

#include&lt;iostream&gt;

表示包含C/C++标准输入输出头文件。包含指令不仅仅限于h头文件,可以包含任何编译器能识别的C/C++代码文件,包括c、hpp、cpp、hxx、cxx等,甚至txt、abc等等都可以。

预处理器发现#include指令后,就会寻找指令后面&lt;&gt;中的文件名,并把这个文件的内容包含到当前文件中。被包含文件中的文本将替换源代码文件中的#include指令,就像你把被包含文件中的全部内容键入到源文件中的这个位置一样。

include()语句包含并运行指定文件。

以下文档也适用于require()。这两种结构除了在如何处理失败之外完全一样。include()产生一个警告而require()则导致一个致命错误。换句话说,如果想在遇到丢失文件时停止处理页面就用require()。

include()就不是这样,脚本会继续运行。同时也要确认设置了合适的include_path。注意在php 435之前,包含文件中的语法错误不会导致程序停止,但从此版本之后会。

寻找包含文件的顺序先是在当前工作目录的相对的include_path下寻找,然后是当前运行脚本所在目录相对的include_path下寻找。例如include_path是,

当前工作目录是/www/,脚本中要include一个include/aphp并且在该文件中有一句include"bphp",则寻找bphp的顺序先是/www/,然后是/www/include/。如果文件名以/开始,则只在当前工作目录相对的include_path下寻找。

当一个文件被包含时,其中所包含的代码继承了include所在行的变量范围。从该处开始,调用文件在该行处可用的任何变量在被调用的文件中也都可用。不过所有在包含文件中定义的函数和类都具有全局作用域。

例子16-5基本的include()例子

varsphp&lt;php$color='green';$fruit='apple';&gt;testphp&lt;

phpecho"A$color$fruit";//Ainclude'varsphp';echo"A$color$fruit";//A green apple&gt;

如果include出现于调用文件中的一个函数里,则被调用的文件中所包含的所有代码将表现得如同它们是在该函数内部定义的一样。所以它将遵循该函数的变量范围。

参考资料:

——include(计算机专业术语)

#include<stdioh>

int main(int argc,int argv[]){

int a,flag;

scanf("%d",&a);/输入一个数进行判断是否是质数/

int isprime(int);/这里是对将要调用的函数声明一下/

flag=isprime(int);

if(flag==1) printf("%d is isprime",a);

printf("%d is not isprime",a):

return 1;/这里的语句代表调用函数成功/

}

int isprime(int a){ /功能函数,判断是否是素数/

int i;

for(i=2;i<=a/2;i++)

if(a%i==0) return 0;/只要有一次相除为0,马上就能判断不是素数/

return 1;/否则经过循环之后,都没有相除为0呢,就说明一定是素数了/

}

看到这里是不是有点疑惑了呢?我到百度查了一下,质数也称素数,你注意看就好。。不懂再追问。。

不过我想你看完之后你应该能明的了,我已经写得好详细了啦。。。。

#include <stdioh>

#include <mathh>

//判断是否为素数的函数

int isPrime(int n)

{

    int i=2;

    while(i<=(int)sqrt(n))

    {

        if(n%i == 0)

            return 0;  //不是素数,直接返回0

        else

            i++;

    }

    return 1;

}

int main()

{

    int n,i;

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

    scanf("%d",&n);

    for(i=2;i<=n;i++)

{

if(isPrime(i))  //调用函数,如果该数为素数,则输出

printf("%d ",i);

}

printf("\n");

    return 0;

}

示例运行结果:

输入一个正整数: 50

2 3 5 7 11 13 17 19 23 29 31 37 41 43 47

源程序代码以及算法解释如下:

#define _CRT_SECURE_NO_WARNINGS

#include<stdioh>

int Func(int m)//判断函数

{

 int n = 2;

 while (n <= m && (m%n))//判断是否能被其他数整除

  n++;

 if (m == n)

  return 1;

 else

  return 0;

}

int main()

{

 int M_num;//定义变量

 printf("请输入需要判断的数:\n");//文字提示

 scanf("%i", &M_num);//循环输入数组元素

 int i = Func(M_num);//判断是否是素数

 if (i == 1)//输出结果

  printf("输入的数是素数");

 if (i == 0)

  printf("输入的数不是素数");

 printf("\n");

 return 0;

}

程序运行结果如下:

扩展资料:

输出1-100之间的所有素数程序如下:

#include<stdioh>

int PrimeNumer(int x) //定义一个函数判断

{

assert(x > 0);  //判断

int i;   //被除数

for (i = 2; i < x; i++)

{

if (x%i == 0)

{

return 0;            //表示正常终止

}

}

return 1;       //只是给主调函数一个标志,说明他的执行过程中遇到异常情况。 然后就返回主调函数来处理,继续执行。 

}

int main()

{

int i,a;

int count = 0;

for (i = 2; i < 101; i++)

{

if (PrimeNumer(i))                           //调用函数来判断

{

count++;                             //加入了一个计数器

printf("%d\n", i);

}

}

printf("素数出现的次数%d", count);

system("pause");

return 0;

}

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/11678223.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存