任意输入一个正整数,判断是否为素数(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语言半年了,第一次写博客,如有不足,还请大家指正,感谢!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 提示词工程——AI应用必不可少的技术
· 字符编码:从基础到乱码解决
· 地球OL攻略 —— 某应届生求职总结