下列程序写了一个判别素数的函数,在主函数输入一个整数,输出是否为素数的信息。

#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语言 - 判断素数的函数相关推荐

  1. ACMNO.23 C语言-素数判定 写一个判断素数的函数,在主函数输入一个整数,输出是否是素数的消息。 输入 一个数 输出 如果是素数输出prime 如果不是输出not prime

    题目描述 写一个判断素数的函数,在主函数输入一个整数,输出是否是素数的消息. 输入 一个数 输出 如果是素数输出prime 如果不是输出not prime 样例输入 97 样例输出 prime 来源/ ...

  2. C语言基础课 编写程序之1.编写一个判断素数的函数,并利用该函数输出100~200的所有素数2.编写一个函数fun(),函数功能是:判断一个整数是否既是5又是7的整倍数,若是,输出yes,不是,输出n

    1.编写一个判断素数的函数,并利用该函数输出100~200的所有素数 #include<stdio.h> #include<math.h> int fun(int n) {in ...

  3. c语言中prime的作用,C语言判断素数prime

    <C语言判断素数prime>由会员分享,可在线阅读,更多相关<C语言判断素数prime(2页珍藏版)>请在人人文库网上搜索. 1.主函数:#include int prime( ...

  4. 写一个判断素数的函数(isprime),在主函数输入一个正整数,输出是否是素数的信息。提示:int main(){int x=23; if (isprime(x)) print

    写一个判断素数的函数(isprime),在主函数输入一个正整数,输出是否是素数的信息. 提示: int main() {int x=23; if (isprime(x)) printf("i ...

  5. isPrime 判断素数的函数

    c语言中int isPrime(int n)是什么意思 isPrime 是自定义的一个函数,传入一个整数n,判断是否为素数.若是返回1,否则返回0. #include "stdio.h&qu ...

  6. 编写一个判断素数的函数,在主函数输入一个整数时,输出是否素数的信息。

    原文地址为: 编写一个判断素数的函数,在主函数输入一个整数时,输出是否素数的信息. 代码: 1 #include<iostream> 2 #include<cmath> 3 u ...

  7. 写一个判断素数的函数,在主函数输入一个整数,输出是否为素数的信息

    写一个判断素数的函数,在主函数输入一个整数,输出是否为素数的信息 #include<stdio.h> #include<math.h> int a; int prime(int ...

  8. C语言判断素数的两种方法

    C语言判断素数的两种方法 素数又称质数.所谓素数是指除了 1 和它本身以外,不能被任何整数整除的数,例如17就是素数,因为它不能被 2~16 的任一整数整除. 思路1):因此判断一个整数m是否是素数, ...

  9. 编写一个判断素数的函数,并在主函数中调用该函数,以验证其正确性

    编程语言基础-C语言-第六章 函数-课后编程题6 分析: main():1.输入一个数  2.判断(如果 真  输出该数    如果  假   输出不是素数) 自定义函数:判断素数,返回1和0 素数: ...

  10. C语言——判断素数的几种方法以及相关题目

    目录 一,什么是素数 二,如何判断一个自然数为素数 三,相关题目 四, 总结 一,什么是素数 素数又称质数,是指在大于1的自然数中,因数仅有1和它本身的自然数 二,如何判断一个自然数为素数 思路一,由 ...

最新文章

  1. 受小动物大脑结构启发,研究人员开发出新的深度学习模型:更少神经元,更多智能...
  2. EasyX识别不到VC++6.0
  3. 【Java并发编程】之八:多线程环境中安全使用集合API
  4. 《JavaScript高级程序设计》Chapter 5 引用类型
  5. 自动配置原理---SpringBoot
  6. matlab resample,resample matlab实现
  7. 修改centos默认启动级别为字符模式
  8. (13)<datalist> 标签
  9. python3 开发面试题(面向对象)6.6
  10. SQL精选习题及解答
  11. 什么是 DevSecOps?系列(一)
  12. 【BZOJ3295】【CQOI2011】动态逆序对(CDQ分治)
  13. 【AI视野·今日NLP 自然语言处理论文速览 第十七期】Thu, 1 Jul 2021
  14. DevOps - (1)Terraform+阿里云实现云资源的CI/CD
  15. Discuz!x1.5实现在线文档(doc、ppt、pdf)播放
  16. 达梦数据库 ,无效的列名, org.springframework.dao.DataIntegrityViolationException: Hibernate-related JDBC operat
  17. 水果店处理坏果,水果店卖不掉的水果如何处理
  18. pthon缺陷检测(机器视觉)
  19. java 每行打印五个数字_java代码练习======每隔5行打印数字
  20. saltstack学习视频—老男孩—超详细—网盘下载

热门文章

  1. Java测试题及答案(Java干货完整试卷)
  2. 重装系统(windows系列:win10,win11专业版;Linux系列:Ubuntu18.04,22.04LTS安装)即装机必备软件汇总
  3. SQL必知必会【极客时间笔记】
  4. 【C语言小游戏】走迷宫
  5. java 10000阶乘_java大数阶乘优化
  6. yacc 简易计算机规则,Lex Yacc 学习笔记(2)- 简单计算器
  7. 人人网普通登录源码爬取
  8. c语言谭浩强第五版复习梳理1
  9. c语言谭浩强课后答案第5章,C语言谭浩强版本第5章课后练习题答案.doc
  10. IT 软件项目管理 期末复习要点(太原理工大学)