C语言 - 判断素数的函数
下列程序写了一个判别素数的函数,在主函数输入一个整数,输出是否为素数的信息。
#include <stdio.h>
int main(){int prime(int);int n;printf("请输入一个整数:");scanf("%d",&n); if______________________ printf("%d 是素数。\n",n);elseprintf("%d 不是素数。\n",n);return 0;}int prime(int n){int flag=1,i;for(i=2;i<n/2&&flag==1;i++)if ______________________ flag=0;________________________;}
经分析,以上代码使用flag的值来判断输入的n是否为素数,flag=1,n为素数;flag=0,n不是素数。完善if条件语句,第一个if, 主函数中的if调用函数,需要填入一个参数,即prime(n); 第二个if,是判断什么情况下flag=0,即输入的整数不为素数,即(n/i==0),余数为0,可以整除;最后返回flag的值,return flag。
但是经过运行可以知道,n=4的时候,程序判断4是素数,明显是错误的,n取0和1的时候同理,程序存在漏洞。分析得知,在定义函数的过程中,for循环条件语句,i<=n/2&&flag==1才能正确运行,同时添加if语句对0和1判断。(前提输入的n>=0,如果为负整数,另加判断条件,略)
正确代码如下:
#include <stdio.h>
int main(){int prime(int);//函数声明int n;printf("请输入一个整数:\n");scanf("%d",&n); if(prime(n)){ printf("%d 是素数。\n",n);}else{printf("%d 不是素数。\n",n);}return 0;}
int prime(int n) //函数定义
{int flag = 1,i;if (n <= 1) //判断0和1,需要先排除flag = 0; //返回0值for(i=2;i <= n/2 && flag == 1;i++) //n无法整除比n/2大的数,flag=1为真,即为素数,继续执行if (n%i == 0) //如果取余为0,则其可以整除,不是素数。flag=0; //标记flag=0,非素数。return flag;
}
C语言 - 判断素数的函数相关推荐
- ACMNO.23 C语言-素数判定 写一个判断素数的函数,在主函数输入一个整数,输出是否是素数的消息。 输入 一个数 输出 如果是素数输出prime 如果不是输出not prime
题目描述 写一个判断素数的函数,在主函数输入一个整数,输出是否是素数的消息. 输入 一个数 输出 如果是素数输出prime 如果不是输出not prime 样例输入 97 样例输出 prime 来源/ ...
- C语言基础课 编写程序之1.编写一个判断素数的函数,并利用该函数输出100~200的所有素数2.编写一个函数fun(),函数功能是:判断一个整数是否既是5又是7的整倍数,若是,输出yes,不是,输出n
1.编写一个判断素数的函数,并利用该函数输出100~200的所有素数 #include<stdio.h> #include<math.h> int fun(int n) {in ...
- c语言中prime的作用,C语言判断素数prime
<C语言判断素数prime>由会员分享,可在线阅读,更多相关<C语言判断素数prime(2页珍藏版)>请在人人文库网上搜索. 1.主函数:#include int prime( ...
- 写一个判断素数的函数(isprime),在主函数输入一个正整数,输出是否是素数的信息。提示:int main(){int x=23; if (isprime(x)) print
写一个判断素数的函数(isprime),在主函数输入一个正整数,输出是否是素数的信息. 提示: int main() {int x=23; if (isprime(x)) printf("i ...
- isPrime 判断素数的函数
c语言中int isPrime(int n)是什么意思 isPrime 是自定义的一个函数,传入一个整数n,判断是否为素数.若是返回1,否则返回0. #include "stdio.h&qu ...
- 编写一个判断素数的函数,在主函数输入一个整数时,输出是否素数的信息。
原文地址为: 编写一个判断素数的函数,在主函数输入一个整数时,输出是否素数的信息. 代码: 1 #include<iostream> 2 #include<cmath> 3 u ...
- 写一个判断素数的函数,在主函数输入一个整数,输出是否为素数的信息
写一个判断素数的函数,在主函数输入一个整数,输出是否为素数的信息 #include<stdio.h> #include<math.h> int a; int prime(int ...
- C语言判断素数的两种方法
C语言判断素数的两种方法 素数又称质数.所谓素数是指除了 1 和它本身以外,不能被任何整数整除的数,例如17就是素数,因为它不能被 2~16 的任一整数整除. 思路1):因此判断一个整数m是否是素数, ...
- 编写一个判断素数的函数,并在主函数中调用该函数,以验证其正确性
编程语言基础-C语言-第六章 函数-课后编程题6 分析: main():1.输入一个数 2.判断(如果 真 输出该数 如果 假 输出不是素数) 自定义函数:判断素数,返回1和0 素数: ...
- C语言——判断素数的几种方法以及相关题目
目录 一,什么是素数 二,如何判断一个自然数为素数 三,相关题目 四, 总结 一,什么是素数 素数又称质数,是指在大于1的自然数中,因数仅有1和它本身的自然数 二,如何判断一个自然数为素数 思路一,由 ...
最新文章
- 受小动物大脑结构启发,研究人员开发出新的深度学习模型:更少神经元,更多智能...
- EasyX识别不到VC++6.0
- 【Java并发编程】之八:多线程环境中安全使用集合API
- 《JavaScript高级程序设计》Chapter 5 引用类型
- 自动配置原理---SpringBoot
- matlab resample,resample matlab实现
- 修改centos默认启动级别为字符模式
- (13)<datalist> 标签
- python3 开发面试题(面向对象)6.6
- SQL精选习题及解答
- 什么是 DevSecOps?系列(一)
- 【BZOJ3295】【CQOI2011】动态逆序对(CDQ分治)
- 【AI视野·今日NLP 自然语言处理论文速览 第十七期】Thu, 1 Jul 2021
- DevOps - (1)Terraform+阿里云实现云资源的CI/CD
- Discuz!x1.5实现在线文档(doc、ppt、pdf)播放
- 达梦数据库 ,无效的列名, org.springframework.dao.DataIntegrityViolationException: Hibernate-related JDBC operat
- 水果店处理坏果,水果店卖不掉的水果如何处理
- pthon缺陷检测(机器视觉)
- java 每行打印五个数字_java代码练习======每隔5行打印数字
- saltstack学习视频—老男孩—超详细—网盘下载
热门文章
- Java测试题及答案(Java干货完整试卷)
- 重装系统(windows系列:win10,win11专业版;Linux系列:Ubuntu18.04,22.04LTS安装)即装机必备软件汇总
- SQL必知必会【极客时间笔记】
- 【C语言小游戏】走迷宫
- java 10000阶乘_java大数阶乘优化
- yacc 简易计算机规则,Lex Yacc 学习笔记(2)- 简单计算器
- 人人网普通登录源码爬取
- c语言谭浩强第五版复习梳理1
- c语言谭浩强课后答案第5章,C语言谭浩强版本第5章课后练习题答案.doc
- IT 软件项目管理 期末复习要点(太原理工大学)