1.本章学习总结

1.1思维导图

1.2本章学习体会及代码量学习体会

1.2.1 学习体会

  • 知道了程序的模块化设计可使程序结构清晰,简化复杂问题,解决代码重复问题
  • 学会使用自定义函数简化主函数,使代码更简洁,易于设计和理解
  • 理解了实参与形参的关系,学会在函数中选择适当的变量

1.2.2 代码累计

2.PTA总分

2.1截图PTA中的排名得分

2.2 我的总分

函数:145
总分:145

3. PTA实验作业

3.1 PTA题目1

本题要求实现一个判断素数的简单函数,并利用该函数验证哥德巴赫猜想:任何一个不小于6的偶数均可表示为两个奇素数之和。素数就是只能被1和自身整除的正整数。

3.1.1 算法分析

int prime(int p);

  • if p=1 then
  • return 0
  • 定义循环中变量j
  • for j=2 to j*j>p
    • if p可整除j then
    • break
  • for end
  • if j*j>p then
    • return 1
  • else
    • return 0

void Goldbach(int n);

  • 定义循环变量i
  • if n为奇数 then
    • n=n+1
  • if end
  • for 无限循环
    • if i和n-i 都为素数 then

      • 输出结果
      • break
    • if end
  • for end

3.1.2 代码截图

3.1.3 测试数据



3.1.4 PTA提交列表及说明

说明:

Q1:忽视1不是素数造成错误
A1:prime函数中增加对1的特判,结果正确

4.大作业

4.1.函数关系图

4.2.函数功能介绍

函数1:Level函数

选择等级并判断输入是否正确

函数2:Question函数

生成随机数,随机运算符,组成计算式
组成计算式,并得出正确答案

函数3:Answer函数

判断输入数字是否等于正确答案
给出正误提示

4.3 运行结果截图

正常运行

中途退出

level不在范围内

4.4 调试碰到问题及解决办法

Q1:level为2,3时生成的随机数出现1位数,1位数 2位数
A1:网上查找资料,将随机数=rand()%100,随机数=rand()%1000 改为随机数=rand()%90+10,随机数=rand()%900+100
Q2:输入为多个数据时,多余数据占据了下一道题答案位置
A2:网上查找资料,加入setbuf(stdin, NULL)语句,清空缓冲区
Q3:输入非法字符出错
A3:依照老师建议加入对scanf函数返回值的判断,并设置成输入非数字时结束程序

4.5 大作业总结

学会了srand(time(NULL))生成随机种子,使用rand()%随机数个数+(随机数最小值)得到给定范围的随机数,使用setbuf(stdin, NULL)清空缓冲区等一系列操作
巩固之前所学的分支,循环,函数等结构,第一次写超过150行的大程序,感受到了程序员的辛苦
~终于切身体会到被BUG淹没的绝望~

C博客作业03—函数的更多相关文章

  1. C博客作业03——函数

    0.展示PTA总分 截图展示: 1.本章学习总结 1.1学习内容总结 (a)函数的定义 1)函数是一个完成特定工作的独立程序模块,包括库函数和自定义函数两种,scanf(),printf()等为库函数 ...

  2. DS博客作业03——栈和队列

    1.本周学习总结 谈谈你对栈和队列结构的认识及学习体会. 栈和队列的本质就是线性表.所以,相应的栈跟队列都有两种存储结构:顺序存储结构.链式存储结构. 栈的特点是后进先出,根据栈时进时出的规则,出栈的 ...

  3. DS博客作业03—栈和队列

    1.本周学习总结 本周学习了栈和队列两种数据结构,分别对应后进先出,先进先出两种数据操作 学会栈的特殊类型-共享栈,队列的特殊类型-循环队列的一系列操作 学会熟练使用栈和队列的STL容器,使代码简洁 ...

  4. C语言I博客作业03

    这个作业属于那个课程 C语言程序设计II 这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2019-2/homework/8717 我在这个课程的目 ...

  5. C语言1博客作业03

    这个作业属于哪个课程 C语言程序设计1 这个作业要求在哪里 (https://edu.cnblogs.com) 我在这个课程的目标是 掌握函数运算 我在这个作业哪个具体方面帮助实现目标 编译一些基本生 ...

  6. c语言l博客作业03

    问题 答案 这个作业属于哪个课程 c语言程序设计ll 这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/SE2019-3/homework/8727 我在这 ...

  7. C语言I 博客作业03

    这个作业属于哪个课程 C语言程序设计II 这个作业要求在哪里 作业要求 我在这个课程的目标是 掌握关系运算.if-else语句.格式化输入语句scanf(),以及常用的数学库函数 这个作业在那个具体方 ...

  8. C语言Ⅰ博客作业03

    一. 这个作业属于那个课程 C语言程序设计II 这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2019-3/homework/8718 我在这个课 ...

  9. xc语言l博客作业03

    问题 答案 这个作业属于那个课程 c语言程序设计ll 这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2019-4/homework/8719 我在 ...

随机推荐

  1. 零基础学习hadoop到上手工作线路指导(中级篇)

    此篇是在零基础学习hadoop到上手工作线路指导(初级篇)的基础,一个继续总结. 五一假期:在写点内容,也算是总结.上面我们会了基本的编程,我们需要对hadoop有一个更深的理解: hadoop分为h ...

  2. JS验证登录平台

    function IsPC() { var userAgentInfo = navigator.userAgent; var Agents = new Array("Android" ...

  3. metasploit渗透测试指南概要整理

    一.名词解释 exploit 测试者利用它来攻击一个系统,程序,或服务,以获得开发者意料之外的结果.常见的 有内存溢出,网站程序漏洞利用,配置错误exploit. payload 我们想让被攻击系统执 ...

  4. Python图像处理库:Pillow 初级教程-乾颐堂

    Image类 Pillow中最重要的类就是Image,该类存在于同名的模块中.可以通过以下几种方式实例化:从文件中读取图片,处理其他图片得到,或者直接创建一个图片. 使用Image模块中的open函数 ...

  5. maven web 项目 打入 jar 包 , 和编译入 java 文件到 web-inf 下

    <outputDirectory>src\main\webapp\WEB-INF\classes</outputDirectory> 可以把 类文件编译到 web-inf 下 ...

  6. 多块盘制作成一个lvm

    1.创建pv[root@autodeploy nfs]# pvcreate /dev/vdd1WARNING: xfs signature detected on /dev/vdd1 at offse ...

  7. js获取年月日时分秒星期

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  8. Linux各个版本资源下载

    Linux系统各发行版镜像下载(持续更新) == Linux系统各发行版镜像下载(2014年10月更新),如果直接下载不了,请使用迅雷下载.并且注意,我的下载地址,在  迅雷 里才起作用. Linux ...

  9. hdu 5011 Nim+拿完分堆

    http://acm.hdu.edu.cn/showproblem.php?pid=5011 有N堆珠子,两个人轮流拿,最少拿一个,可以全拿,每次只能从一个堆里拿,不能从多堆同时拿:拿完之后该人还有一 ...

  10. SPFA穿越虫洞——负权回路得判断

    poj3259 题目大意:穿越虫洞可以回到过去(时间--)所以能不能让时间倒流呢,就是判断有没有负权回路这次尝试用SPFA算法,也可以复习一下链式前向星 准备工作,队列q,spfa算法得有点就在于这个 ...