第三次作业

1.本章学习总结.

1.1 思维导图

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

1.2.1学习体会

这两周学习了函数有关的知识,预习的时候对于函数中函数定义和各种不同变量的使用认识很模糊,感觉使用函数写代码很会很复杂,但开始做题以后发现函数题与前几周题目的做题方法没有太大的区别,只是将代码某些功能的实现过程写在了不同的函数定义下,所以感觉使用函数的代码更容易发现存在的错误,因为每一个函数保持独立,在测试数据的时候就可以发现具体是哪一个函数存在问题,然后进行改正。

1.2.2 代码累计

2.PTA总分

2.1截图PTA函数结构的排名得分

2.2 我的总分

  • PTA总分:145分;

3.PTA实验作业

3.1 PTA题目1

实现一个计算Fibonacci数的简单函数,并利用其实现另一个函数,输出两正整数m和n(0<m≤n≤10000)之间的所有Fibonacc数。

3.1.1 算法分析

int fib(int n)

定义i来判断累加的次数,k为两项中前一项的值,j为后一项的值,sum为两项累加结果;

if n=1后者n=2 数列第一第二项均为1;

for 前两项累加计算第三项 循环

return sum;

void printFN(int m,int n)

int num来传递fib(int n)函数

int count计算范围内的Fibonacci数的个数

for 输出范围内的Fibonacci数

if count不等于0,无Fibonacci数

3.1.2 代码截图

3.1.3 测试数据

3.1.4 PTA提交列表及说明

Q1:测试数据时Fibonacci数列前两项为总是为1,2.
A1:因为采用了累加的方法用sum存放前两项的和,所以第二项总是无法为1,后来将数列前两项作为特殊情况,写在了循环累加的前面,保证数列第1,第2项均为1。

Q2:最后一个数字后面有空格输出
A2:引入新的变量count控制,只有在输出第一个数count=1时前面无空格,其后每一个数字前面都输出一个空格。

4.大作业

4.1 函数关系图

4.2 函数功能介绍

1.函数1

功能:在进入做题前给予用户充分提示,让用户知道下一步如何操作

2.函数2&函数6

功能:函数2为提示输入挑战难度和题目数量 函数3为输出随机生成的算式以及输入用户的回答 两个函数功能类似

3.函数4&函数5

功能:函数4为随机生成对应等级的随机数 函数5为随机生成对应等级的运算符

4.函数3

```功能:计算随机给出算式的正确答案,以判断用户回答是否正确

5.函数7&函数8

功能:输出答案正确与错误的提示 思路:用生成随机数来随机出现不同的提示语,让用户觉得程序更有趣。

6.函数9

功能:挑战结束语
思路:题目完成或者中途退出都会出现,让用户可以随时结束挑战。

4.3 运行结果截图


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

Q1:开始写的时候最大问题是不懂如何生成随机数
A1:百度了c语言中生成随机数的方法,然后又问了会用随机数的同学,才懂如何生成不同范围的随机数;
Q2:学会生成随机数后还是不会如何生成随机运算符
A2:百度了生成随机运算符的方法,需要引入数组来储存运算符,不太会用,所以选择用switch语句判断生成的1~4的随机数,不同的随机数返回不同的字符,来代替数组生成随机运算符的方法;

4.5 大作业总结

开始做大作业的时候没什么思路,虽然函数的pta作业完成的比较顺利,但因为pta里面的函数都都已经有了基本框架,main()函数和其他函数定义,所以到大作业中这些也要自己完成时确实很懵。最开始我只定义了三个函数,就是开始菜单,生成随机数和输出算式,结果写到一半就发现main()函数下内容越来越多,然后才发现需要定义其他函数去实现不同的功能,所以一边写一边定义函数。第一次写完编译的时候有一大堆的错误,然后只能对着一行行改,同时也知道了自己在写代码过程中很多不规范的地方。这次作业虽然用了很多时间完成,程序也确实还有可以再完善的地方,但基本的功能完成也让我觉得对函数等方面的知识有了更深的了解,比如选择使用全局变量和局部变量,生成随机数以及用函数写代码时框架的构造。以后写代码还是需要先讲大致的思路整理出来,先把代码的基本框架构造出来,然后再一点点往里面加入一些细节的东西,去完善程序的功能,这样写代码的效率才会高而且代码的质量也有保证。

转载于:https://www.cnblogs.com/NOH8xxy/p/9941483.html

C语言博客作业03--函数相关推荐

  1. c语言|||博客作业03

    这个作业属于哪个课程 https://bbs.csdn.net/forums/csuft_swxy_C?typeId=17328 这个作业要求在哪里 https://bbs.csdn.net/topi ...

  2. C语言博客作业--函数

    C语言博客作业--函数 一,PTA实验作业 6-2 简单实现x的n次方 1.本题PTA提交列表 2.设计思路 double mypow( double x, int n )函数 (1)定义y=1,i用 ...

  3. C语言程序设计博客作业03

    C语言程序设计博客作业03 这个作业要求在哪里 C语言程序设计作业03:第十周作业 我在这个课程的目标是 掌握二维数组和字符串的使用方法 这个作业在那个具体方面帮助我实现目标 PTA作业和日常练习 参 ...

  4. C语言|博客作业06

    这个作业属于哪个课程 https://bbs.csdn.net/forums/csuft_swxy_C?typeId=17321 这个作业要求在哪里 https://bbs.csdn.net/topi ...

  5. 【C语言博客作业06】

    这个作业属于哪个课程 https://bbs.csdn.net/forums/csuft_swxy_C?category=0&typeId=17328 这个作业要求在哪里 https://bb ...

  6. C语言|博客作业05

    C语言|博客作业05 这个作业属于哪个课程 https://bbs.csdn.net/forums/csuft_swxy_C?typeId=17321 这个作业要求在哪里 https://bbs.cs ...

  7. C语言|博客作业04

    C语言|博客作业04 1. 完成云班课的知识点总结作业,并给出截图. 2. 学习总结 这个作业属于哪个课程 https://bbs.csdn.net/forums/csuft_swxy_C?typeI ...

  8. c语言中11 3等于多少,C语言|博客作业11

    一.本周教学内容&目标 第5章 函数 要求学生掌握各种类型函数的定义.调用和申明,熟悉变量的作用域.生存周期和存储类型. 二.本周作业头 三.本周作业 1.PTA实验作业 请再此处列出自己的排 ...

  9. C语言|博客作业09

    这个作业属于哪个课程 https://bbs.csdn.net/forums/csuft_swxy_C?category=0&typeId=17321 这个作业要求在哪里 https://bb ...

  10. C语言博客作业06--结构体文件

    1.本章学习总结 1.1 思维导图 1.2 本章学习体会 最近学习了结构体.链表和文件的运用,结构体那一部分大体上都能掌握,但是文件那一部分,函数.知识点比较多,掌握得还不够熟练,一些比较复杂和难的部 ...

最新文章

  1. OpenGL编程轻松入门(四)
  2. 这或许是东半球分析十大排序算法最好的一篇文章
  3. 排序算法一:选择排序
  4. 客户端爬取-答网友问
  5. NPM useful library path: request.js
  6. 平均正确率aps apm apl_如何通过信号词来提高雅思听力正确率?| 附写作批改
  7. python时间序列预测不连续怎么办_python – 不连续的时间序列在x轴上绘制日期
  8. vue1和vue2获取dom元素的方法 及 nextTick() 、$nextTick()
  9. @Autowired和@Resource
  10. java环境已经弄好jar文件还是打不开解决方法
  11. 计算机合并单元格怎么操作,excel怎么合并单元格方法
  12. js return加分号_JS代码中加分号和不加分号的区别
  13. win 10系统语言栏不见了怎么办?
  14. 表格中的斜线怎么弄?WPS最全技巧分享
  15. Mysql数据库用户密码暴力破解
  16. quartus 复制IP核
  17. 如何用函数求出身份证号码中的出生日期——CONCATENATE、MID函数的使用方法
  18. html5打开抖音链接,抖音主页链接在哪里弄(主页链接设置教程)
  19. 数据传输速率度量单位指标-比特、波特率和码元的关系
  20. 计算机控制课设串级回路,华北电力大学过程计算机控制课设DDC串级回路PID闭环...

热门文章

  1. 微信语音怎么转发给别人听_微信语音怎么转发出去?这个小技巧超级好用
  2. java graphics 类_对于 Graphics 类的一点认识(转)
  3. Java开发者跳槽必备:2021阿里Java面试题目大汇总
  4. 【PAT (Advanced Level) Practice】1113 Integer Set Partition (25 分)
  5. oracle SQL 命令行(二.视图)
  6. mysql tomocat vs2005_C# 制作Java +Mysql+Tomcat 环境安装程序,一键式安装
  7. python中赋值不正确的_python中的“赋值与深浅拷贝”
  8. java方法6_6.1 JAVA方法入门
  9. 如何通过简化标题来提升核心关键词排名?
  10. 浅析网站页面加载速度如何提升?