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. fragment 事务回滚 ---动态创建fragment

    import java.util.Date; import java.util.LinkedList; import com.qianfeng.gp08_day23_fragment5.fragmen ...

  2. (一)ROS的安装与环境配置

    1.设置教程 1.1 打开system setting(系统设置)->Software&Updates(软件与更新) 1.2点击上方Other software(其他软件),点击左下角a ...

  3. datagridview 如何禁止行被选中

    如题,如何规定特定的行,光标不能定位,也不能被选中,就好想Button中的Enable属性那样,变灰,而且点击也没有反应那种,这样的效果,如何实现. datagridview [解决办法]dataGr ...

  4. Apache Cordova vs Adobe PhoneGap: the differences and which one to use

    http://www.makehybridapps.com/2014/06/09/cordova-vs-phonegap-the-differences-and-which-one-to-use/

  5. HHvm建站环境搭建方法:Nginx,Mariadb,hhvm及lnmp/lamp安装部署

    HHVM起源于Facebook公司,是一个开源的PHP虚拟机,使用JIT的编译方式以及其他技术,让PHP代码的执行性能大幅提升.HHVM提升PHP性能的途径,采用的方式就是替代Zend引擎来生成和执行 ...

  6. Java的8种包装类:Wrapper Class

    Java有8种基本数据类型,为什么又要出现对应的8种包装类: 1.Java的8种基本数据类型不支持面向对象编程机制 2.8种基本数据类型不具备“对象”的特性:没有成员变量.方法可供调用 3.例如:某个 ...

  7. iOS.Dev.Support.MultiVersions

    如何利用target conditionals和availabilty 如何来区分平台iOS OR Mac “When building for iOS the deployment target i ...

  8. chrome 调试工具的使用

    Elements chrome devtools 中 Elements panel 是审查 dom 元素和 css 的, 可以实时修改 dom/css. windows: ctrl + shift + ...

  9. Crash以及报错总结

    CoreData: Cannot load NSManagedObjectModel.nil is an illegal URL parameter 这是因为在工程中CoreData的命名和AppDe ...

  10. KbmMW 4.30.00 发布

    今天早上,KbmMW发布了4.30.00 版,这个版本开始支持XE4 的WIN/WIN64/OSX. 暂时不支持ios开发,同时加强了通过JSON 的对象序列化.还有就是解决了我提交的几个有关 汉字处 ...