• 循环 函数 数组


    循环

    ## 一

    题目一:打印九九口诀表

    1、本题PTA提交列表

    2、 设计思路

     

    设计一个嵌套循环,第一个循环使第二个循环从1变到i,依次输出i*j,同时第二个循环使第一个循环从1变到9

    3、本题调试过程碰到问题及PTA提交列表情况说明

    调试过程碰到问题:语句没能对齐和形成三角形

    调试过程

    把j*i改成i*j  %d改成%-4d后正确

    题目二:求交错序列前N项和

    1、本题PTA提交列表

    2、 设计思路

    定义一个数学函数pow()来实现改变序列中元素的符号,定义sum来球和,调用while 语句来进行循环求和,当 i 不满足条件时,跳出循环。

    3、本题调试过程碰到问题及PTA提交列表情况说明

    调试过程碰到问题:总和sum 和d 的数据类型错误

    调试过程

    把d换为float型后正确

    题目三:求平方根序列前N项和

    1、本题PTA提交列表

     

    2、 设计思路

    定义一个数学函数sqrt()来求a的平方根,定义sum来求和,调用while 语句来进行循环求和,当 i 不满足条件时,跳出循环。

    3、本题调试过程碰到问题及PTA提交列表情况说明

    调试过程碰到问题:在dev上能运行但在pta上却不能运行。。

    调试过程

    严格按照pta上的格式输入后,如等号两边都需要大空格、b改为float型后答案正确

     ##二同学代码结对互评

    我的代码

    吴旷麟的代码

    此题我们的代码不同之处在于我是用while循环,而旷麟是用for循环。

    但他的代码比我的简洁明了,更少占储存空间

    ##三

    【总结】

    1 .你学会了什么?

    (1)熟悉了简单循环以及嵌套循环的使用、、、

    (2)学会了数学函数的使用:如1、平方根函数sqrt(x)  2、绝对值函数fabs(x)  3、冥函数pow(x,n)   4、指数函数exp(x)    5、以e为地的对数函数log(x)

      (3) for语句和 while语句都是在循环前先判断条件,而   do-while语句是先执行循环体,后判断循环条件

    (4)break语句是强制结束循环,而continue语句是跳过后面的语句接续循环

    2 .还不会什么?

    pta不会做的题:7-35 7-38 7-39  7-10 7-36 7-40 7-8 7-9 7-10 7-11 7-34 7-20

    3 . 考试总结:

    1.哪题做错了?怎么改?

    (1)7-39 出生年;与室友讨论,一起思考,网上查阅;

    (2)7-10 打印沙漏; 思考后多次不对,并与室友对比代码,然后发现了自己的错误

    2 .考试结果满意吗?怎么改进?

    考试结果不太好,不满意  

    改进:多敲代码,多思考,多看书,掌握基础知识

    4 .其他总结:课本的基础知识掌握还不够

    函数

    ## 一

    题目一:7-3 求幂之和(15 分)本题要求编写程序,计算sum=21​​+22​​+23​​++2n​​。可以调用pow函数求幂。

    1、本题PTA提交列表

    2、 设计思路

    调用pow函数求幂,定义sum依次求和、

    流程图

    3、本题调试过程碰到问题及PTA提交列表情况说明

    调试过程碰到问题:无

    调试过程

    题目二:7-5 近似求PI(15 分)

    本题要求编写程序,根据下式求π的近似值,直到最后一项小于给定精度eps。

    2π​​=1+31!​​+3×52!​​+3×5×73!​​++3×5××(2×i+1)i!​​+

    1、本题PTA提交列表

    2、 设计思路

    自定义三个函数,运用函数嵌套实现求出π的近似值,应用循环结构求最后一项大小,

    直到最后一项小于给定精度eps。同时求出各元素累加的值

     流程图:

    3、本题调试过程碰到问题及PTA提交列表情况说明

    调试过程碰到问题:1、如何运用函数的嵌套使用? 2、开始循环逻辑不对,函数定义思路不清晰

                                    3、第一次提交   输出格式错误,将"%lf"改为“%.5”则正确。

    调试过程

    题目三:7-1 求组合数(15 分)

    本题要求编写程序,根据公式Cnm​​=m!(nm)!n!​​算出从n个不同元素中取出m个元素(mn)的组合数。

    1、本题PTA提交列表

    2、 设计思路

          因为组合数由n!/m!*(n-m)!构成,,定义一个阶乘函数fact(),分别求出n!  ,  m!  , (n-m)!  ,然后在用result统计结果

     流程图:

     

    3、本题调试过程碰到问题及PTA提交列表情况说明

    调试过程碰到问题:一开始错把结果result定义为了int 型、自定义函数的声明后面必须要有分号

     调试过程

     ###二  :同学代码结对互评

    吴旷麟的代码:

    我的代码

    我的代码的思路和旷麟的代码的思路基本一样,但是旷麟的代码更加精短,更加有含金量,一目了然不会让人纠结,而我的代码步伐较多,容易让人混淆

    ###三 【总结】

    1 .你学会了什么?

    (1)学会了运用函数之间的嵌套使用。,如7-5 近似求PI

    (2)局部变量和全局变量的使用,一般把全局变量定义在程序的最前面,局部变量一般定义在函数或复合语句的开始处

    (3)void函数是不返回结果的函数

    (4)学会了函数的定义和调用    自定义函数的声明,其后要加分号

    2 .pta不会做的题:7-2 7-9  7-7

    3 . 考试总结:

    1.哪题做错了?怎么改?

    (1)7-11;和同学一起讨论,互相检查代码,网上查阅;

    2 .考试结果满意吗?怎么改进?

    考试结果不太好,不满意  

    改进:多敲代码,多思考;勤于问,谦于闻

    4 .其他总结:课本的基础知识掌握还不够,知识面宅

    ###四

    本周题目集的PTA最后排名

    数组

    ##一

    题目一:7-4 查找整数(10 分)

    本题要求从输入的N个整数中查找给定的X。如果找到,输出X的位置(从0开始数);如果没有找到,输出“Not Found”。

    1. 本题PTA提交列表

    2. 设计思路

    定义一个数组a[i]将输入的N个数有序的储存起来,将i<N作为循环条件,依次调用a[i]与X比较,若找到与X相等的a[i], 并输出i,若没找到并输出“Not Found"...

    流程图:

    3.本题调试过程碰到问题及PTA提交列表情况说明。

    调试过程:

    【错误】:在没输入N之前,a[N]语句在C语言为不合法语句,错把英文分号大写成中文分号。。

    经认真检查、让室友寻找以后  修改  正确

    题目二:选择法排序(20 分)

    本题要求将给定的n个整数从大到小排序后输出。

    1. 本题PTA提交列表:

      

    2. 设计思路

    在未排序的n个数中找到最大值,将它与a[0]交换;再在剩下的n-1个数中找到最大值,并与a[1]交换、、、依次类推

    流程图

    3.本题调试过程碰到问题及PTA提交列表情况说明。

    调试过程:

     【错误】:1、不细心 ,没有按pta的格式要求,pta要求在一行中输出从大到小有序的数列,相邻数字间有一个空格,行末不得有多余空格。

    改正后提交  正确

       

    题目三:方阵循环右移(20 分)

    本题要求编写程序,将给定n×n方阵中的每个元素循环向右移m个位置,即将第0、1、⋯、n1列变换为第nm、nm+1、⋯、n1、0、1、⋯、nm1列。

    1. 本题PTA提交列表

    2. 设计思路

    定义一个二维数组A[n][n],运用三个嵌套循环,依次将给定n×n方阵中的每个元素循环向右移m个位置。。

    流程图

    3.本题调试过程碰到问题及PTA提交列表情况说明。

    【错误】1、一开始没注意pta的要求为:每行n个整数,每个整数后输出一个空格,并且要换行

    2‘、一开始思路不清晰 分析不透彻 导致循环嵌套部分错误

    本题代码:

     ##二同学代码结对互评

    陈健的代码

    我的代码

    我和陈健的代码不同之处在于陈建是用函数写的,而我只用了数组

    我觉得这个题我自己的比较好,会更加清晰;

    ##三

    1 .你学会了什么?

    (1)利用数组来调用多个输入值,以及二维数组的使用

    (2)更加熟悉了循环的使用

    (3)数组名是一个地址常量,存放数组内存空间的首地址

    (4)数组下标从0开始,下标不能越界

    (5)字符串是由有效字符和字符串结束符‘'组成

    2 .还不会什么?

    pta不会做的题:7-5 7-7 7-8  7-9  7-15 7-16  7-13 7-23 7-24 7-25 7-29 30

    3 . 考试总结:

    1.哪题做错了?怎么改?

    (1)正整数A+B;问同学,网上查阅;

    (2)说反话-加强版  问同学,知道了大致方法

    2 .考试结果满意吗?怎么改进?

    考试结果不太好,不满意  

    改进:多敲代码,思考

    4 .其他总结:课本的基础知识掌握还不够,写程序时自己会没思路

    写程序时会思考很久但还是不知从何下手,

    本周题目集的PTA最后排名

  • 相关阅读:
    ORA-12170 TNS 连接超时
    判断字符串里面是否包含汉字
    关于Try/Catch 代码块
    SOLID 原则
    整洁代码原则
    装箱 拆箱
    存储过程优缺点
    ANTLR Tool version 4.4中使用ANTLR 4.7.1
    The Apache Tomcat installation at this directory is version 8.5.40. A Tomcat 8.0 installation is expected.
    实现功能:构建一个JSON到XML的翻译器。
  • 原文地址:https://www.cnblogs.com/twzh123456/p/8150881.html
Copyright © 2020-2023  润新知