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. EditTex

    <EditText android:layout_width="match_parent" android:layout_height="100dp" a ...

  2. php的opcode缓存原理

    opcode是什么? 它是一种PHP脚本编译后的中间语言,类似java的字节码.   PHP代码执行(Zend引擎)的步骤如下: 1.Scanning(Lexing) ,将PHP代码转换为语言片段(T ...

  3. dede添加自定义函数

    在dede安装目录下的include/extend.func.php添加自定义函数: /** * 获取文章第一张图片 */ function getFirstImg($arcId) { global ...

  4. 给dede添加栏目图片和栏目描述

    有的时候我们希望调用栏目时把栏目的图片和描述调出来,但dede好像没有提供栏目图片这个功能,而栏目的描述也是给meta:Description使用的,不是很方便.   所以我们需要自已给dede添加图 ...

  5. Linux的crontab应注意事项

    今天遇到一个问题,困扰了好久,刚开始时以为crontab定时任务配置错误,后经过验证没有错误,然后又怀疑到是不是权限问题呀?将权限跟改为root后,重新配置crontab定时任务,还是不行,真是让人气 ...

  6. Laravel - Opening Multiple Projects

    On this page: Basics Opening multiple projects Deleting a project from view Important notes Basics P ...

  7. [ Laravel 5.5 文档 ] 底层原理 —— 一次 Laravel 请求的生命周期

     Posted on 2018年3月5日 by  学院君 简介 当我们使用现实世界中的任何工具时,如果理解了该工具的工作原理,那么用起来就会得心应手,应用开发也是如此.当你理解了开发工具如何工作,用起 ...

  8. 交互神器-最好用的Mac原型设计工具

    市场上有着大量的开发和设计工具支持在Mac上安装使用,今天给大家强烈推荐一款Mac上的原型设计工具-Mockplus,原型工具在产品开发设计中是必不可少的,无论是现在非常火的小程序设计,还是网页设计, ...

  9. java读取配置文件的方法

    1. Preferences类 这个主要是设置个人喜好.它的数据一般存在系统目录或是用户目录.还可以操作注册表. 2. Properties类 保存键值对.可以指定路径. 3. commons con ...

  10. java 解析txt/html文件

    package util.read; import java.io.BufferedReader;import java.io.FileReader; public class ReadFromFil ...