【C语言】C语言实现一个函数 判断是否是素数

     

 欢迎来到南方有乔木的博客!!!


博主主页:点击点击!戳一戳!!

博主QQ:1636758318

博主简介:

一名在校大学生,正在努力学习Java语言编程。穷且意坚,不坠青云之志,希望能在编程的世界里找到属于自己的光。

跪谢帅气or美丽的朋友们能够帮我点赞! 请对文中内容请多多指教!!!

 本期博客我们来学习C语言实现一个函数 判断是否是素数!!!

一.解题思路

要判断一个数是否是素数,我们首先需要理清我们的思路。

第一,什么是素数?素数主要要满足两个条件:

1.只能被1整除;

2.只能被它自身整除

由它的条件我们可以分析,只能被1整除和只能被它自身整除,不能被1到它之间的所有数整除因此我们可以先定义一个整形的数 num,代表我们要判断是否为素数的数字。用一个for循环语句来遍历1到num之间的所有数:(1到num之间从2开始,初始化i=2)

 int i=2;
          for( i=2;i<num;i++){}

            然后用if语句来满足它的形成条件,不能被1到num之间的所有数整除,用if语句表示:

 if(num%i==0)
           {
            printf("%d不是素数",num);
            break;
           }

        其中,如果满足num能够被i整除,则不满足素数的条件,打印出输出num不是素数,%d表示在此处占一个位置,以十进制打印输出值,所要输出的值在后边的num取。

        接下来,如果以上条件不满足,则说明数字num不能被1到它之间的数整除,我们可以再用一个if语句:

if(num==i)
           {
            printf("%d是素数",num);
           }

         这个语句表明如果它能够被一整除,则打印输出num是素数,它能够被它自身整除,我们可以用num==i 来表示。

           整体思路全部理清以后,我们可以写全完整代码,先自定义一个prime_num函数,

#include <stdio.h>
#include <stdlib.h>

  void prime_number(int num)
       {
          int i=2;
          for( i=2;i<num;i++){

           if(num%i==0)
           {
            printf("%d不是素数",num);
            break;
           }
          }
          if(num==i)
           {
            printf("%d是素数",num);
           }

       }

          接下来调用自定义的函数,用关键字scanf捕捉一个数字,调用自定义的函数,判断它是否是素数:

int main()
  {
      int num;
      printf("请输入一个数:");
      scanf("%d",&num);
      prime_number( num);
      system("pause");
      return 0;
    }

 二.解题代码

   全部思路以及完成,全代码如下:

#include <stdio.h>
#include <stdlib.h>

  void prime_number(int num)
       {
          int i=2;
          for( i=2;i<num;i++){

           if(num%i==0)
           {
            printf("%d不是素数",num);
            break;
           }
          }
          if(num==i)
           {
            printf("%d是素数",num);
           }

       }

  int main()
  {
      int num;
      printf("请输入一个数:");
      scanf("%d",&num);
      prime_number( num);
      system("pause");
      return 0;
    }

  • 27
    点赞
  • 86
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值