任意输入一个正整数,判断是否为素数(C语言)

这篇博客来讲讲如何判断一个正整数是否为素数。

(素数:在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数;反之,则是合数。)

       

       如图所示,首先定义三个变量:m , i , flag 。

其中,m表示这个正整数,需要人为手动输入;

           i表示除数,i从2开始递增,i每增1,就要用m除以i,若能够整除则说明m除了1和它本身以外存在其他因数,m是合数;若不能整除,则m是素数;

那么如何表示一个数的素合性呢?我们定义了一个变量——flag; 

           当这个数是素数时,我们使flag=1;合数时,flag=0;

scanf("%d",&m); 不必多说,输入一个数给m,

我们重点讲一下for循环:

       首先,将i赋初值为2,且i每一次参加运算前都要进行判断,判断i是否<=m/2,若是,则进行循环体语句;若否,则退出for;

循环体语句中是一个if语句,判断m能否被i整除,若能,则使flag=0,且退出循环;若不能,则i++,重新进行for语句。

接下来是一个if语句,条件是flag;如果flag=1,即判断条件为真,则输出“素数”;否则,输出“合数”。

       因为本人平时练习的多是运用函数调用的方法,所以这次我并没有用函数调用。

       下面是运行结果:

       接触C语言半年了,第一次写博客,如有不足,还请大家指正,感谢!

posted @   迈纳·陈  阅读(7663)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 提示词工程——AI应用必不可少的技术
· 字符编码:从基础到乱码解决
· 地球OL攻略 —— 某应届生求职总结
点击右上角即可分享
微信分享提示