循环 函数 数组

循环

## 一

题目一:打印九九口诀表

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)字符串是由有效字符和字符串结束符‘\0'组成

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最后排名

 

posted @ 2017-12-30 19:16  积极废人  阅读(921)  评论(0编辑  收藏  举报