zoukankan      html  css  js  c++  java
  • C语言博客作业03函数

    1.本章学习总结

    1.1思维导图

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

    1.2.1学习体会

    在本章的学习中,我学到了函数的应用,学到了什么是全局变量什么是局部变量,以及静态局部变量在计算累加累乘数时该怎么用。但是平时看书时间太少,许多基础知识还不清楚,以后会多看看课本。在pta的作业难度上,明显比前两次作业要来的简单,但自己在做的过程中仍会出现粗心的问题,比如写错循环条件,导致无限循环。今后会更加注意,以免将来代码量大的时候找不出错误。以后还应该注意认真审题,提高做题效率。

    1.2.2代码累计


    2.PTA总分

    2.1截图

    2.2我的总分

    我的总分:145


    3.PTA作业

    3.1PTA题目一

    本题要求实现一个计算Fibonacci数的简单函数,并利用其实现另一个函数,输出两正整数m和n(0<m≤n≤10000)之间的所有Fibonacci数。所谓Fibonacci数列就是满足任一项数字是前两项的和(最开始两项均定义为1)的数列。

    3.1.1算法分析

    定义返回第n项Fibonacci数的函数
       定义整型变量 i,fn1=0,fn2=0,fn,flag=0
       for i=1 to n do
           if i==1 || i==2 then fn=1
           end if
           fn1=flag
           if i>2 then fn=fn1+fn2
           ebd if
           flag=fn2
           fn2=fn
       end for
       返回 fn 的值
    定义在一行中输出给定范围[m, n]内的所有Fibonacci数的函数
       定义整型变量 j,flag1=0,x=0
       for j=1 to 10000 then 
           if m<=fib(j) && fib(j)<=n then
               flag1=1
           end if
               if x!=0 then 输出空格
               end if
               输出 Fibonacci数
               x=x+1
           if fib(j)>=n && flag1!=1 then 输出 "No Fibonacci number"
           结束循环
           end if
           if fib(j)>n then 结束循环
           end if
       end for
    输出
    
    

    3.1.2代码截图

    3.1.3测试数据

    3.1.4PTA提交列表及说明

    • Q1 末尾空格多了一个。

    • A1 将空格提至输出数字前,第一个输出数字前不输出空格。

    • Q2 当输入1 1 2时,Fibonacci数只输出了一个1,但题目要求两个。

    • A2 将最后一行中的跳出循环条件改了一点点,使程序可以跳出两个相同Fibonacci数。


    4.大作业

    题目:实现小学四则运算。

    4.1.函数关系图

    4.2.函数功能介绍

    1.函数一

    功能:随机产生第一级的1位数的一步加减乘除计算题。
    思路:先输入想挑战的次数,设为循环次数。循环体内,随机产生两个一位数字和一个字符(+,-,*,/),然后通过switch语句给正确答案赋值。若自己的回答等于正确答案,right加一。 ( 随机产生题目时应考虑小学计算中不会出现负数,除号后不为零,除法不应该为小数。)



    2.函数二

    功能:随机产生第二级的2位数的2步加减计算题。
    思路:先输入想挑战的次数,设为循环次数。随机产生两个二位数字和一个字符(+,-) 用到switch语句得到正确答案,再对比自己的回答和正确答案,累计答题数目和正确题目数,最后计算成功率。



    3.函数三

    功能:随机产生第三级的3位数的2步加减计算题。
    思路:与函数二差不多。


    4.函数四

    4.3 运行结果截图

    开始页面

    函数一

    函数二

    函数三

    输入非法字符截图

    • 1

    • 2

    • 3

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

    • 1.在调试计算正确率的函数时,结果总是不对,后来发现是写行参位置时和定义变量时搞错。不够仔细。
    • 2.因为是小学,所以要控制随机产生的计算题的结果中不出现小数和负数,为了实现这个,刚开始在switch中加if语句,但调试出来会卡住,后面把if语句放在外面就行了。

    4.5 大作业总结

    • 1.还没开始做之前,完全没有头绪,但是当自己理清思路后
    • 2.在输入非法字符怎么解决的问题上想了很久,后来百度得知输入非法字符时scanf=0,利用这个解决了问题。
    • 3.刚开始不知道怎么产生一个范围内的随机数,后来百度知道可以用公式,如:要输出m<=r<n范围内的数字,用rand()%(n-m)+m;
    • 4.刚开始不知道怎么产生随机字符,后来找到两种方法,第一种是把运算符放在数组里,随机产生数字对应数组中的各个运算符,这种方法我用在函数一中;第二种是利用switch来实现,我用在二,三函数中。
    • 5.以后做题要积极一点,只有先去做才能去实现自己的想法,才能找出自己的漏洞。
  • 相关阅读:
    测试1.书店的增删改查项目.链接数据库
    添加约束及打印五角星及查询
    结构
    安装StarUML 及使用时序图(Sequence Diagram)和用例图(use case diagram)
    UMLUnified Modeling Language (UML)又称统一建模语言或标准建模语言
    电视机与遥控器之间的交互
    泛型集合
    狮子和计算Java题
    华为机试——求两个数之间的素数
    判断一个数是否是素数
  • 原文地址:https://www.cnblogs.com/chianun2000/p/9941192.html
Copyright © 2011-2022 走看看