题目1:换硬币
1. 本题PTA提交列表
2. 设计思路(此处用流程图最好)
1.定义六个整型变量count,x,fen5,fen2,fen1,total,其中count用来存放换硬币方法的次数,fen5、fen2、fen1分别表示五分、两分、一分硬币的数量,total表示硬币的总数量。
2.输入零钱金额x
3.fen5=20,当fen5>=1时,重复步骤4到10
4..fen2=50,当fen2>=1时,重复步骤5到10
5.fen1=100,当fen1>=1时,重复步骤6 到10
6.total=fen5+fen2+fen1
7.如果5fen5+2fen2+fen1=x,count++
8.输出fen5,fen2,fen1,total
9.fen5--
10.fen2--
11.fen1--
12.输出count
3.本题调试过程碰到问题及解决办法
开始的时候将代码写成了这样,发现在输入13时,是正确的,但换一组数据时,就不是按题意要求的那样输出了
后来我发现用fen++顺序容易错乱,就试着换用fen--,但是还是显示错误,后来发现是给fen附错了初值,没有意识到x是表示角,,因为x是小于等于100的数,后来直接给fen5=20,fen2=50,fen1=100,利用fen--,从最大值开始循环,就可以了
题目2:打印九九口诀表
1. 本题PTA提交列表
2. 设计思路(此处用流程图最好)
1.定义三个整型变量 N,i,j;其中N表示输入的正整数,i,j分别表示行和列
2.输入正整数N
3.i=1,j=1,输出ij=ij
4.i++
5.j++
6.输出ij=ij
7.如果i<=N,j<=i,重复步骤四到步骤七
8.结束算法
3.本题调试过程碰到问题及解决办法
代码正确,但在输出时是没有任何间隔
意识到空格问题后,想到老师上课说的%md,m表示占得格子数,于是改成了%4d,但好像问题比之前的还要严重
后来上了一下百度,才明白是要向左对齐的话,需要改成%-4d
题目3:歌唱比赛评分系统
1. 本题PTA提交列表
2. 设计思路(此处用流程图最好)
1.定义整型变量n,repeat,grade,min,max,i,j,sum;其中repeat存放操作次数,grade评委打分,min存放最小值,max存放最大值,sum存放得分总和;定义浮点型变量 score用来存放最后得分
2.输入操作次数repeat
3.j=1.如果j<=repeat,输入n,重复步骤三到步骤九
4.sum=0;min=100;max=0
5.i=1,如果i<=n,输入grade,重复步骤五到步骤九
6.如果grade>max,则令max=grade;如果grade<min,则令min=grade
7.sum=sum+grade
8.j++
9.i++
10.score=(sum-min-max)/(n-2)
11.输出score
3.本题调试过程碰到问题及解决办法
在Dev上可以,而在pta上提交后显示答案错误
后来发现是没有将sum,min,max的赋值放到大循环里,且在最后输出的时候忘了换行
二、同学代码结对互评
互评同学:戴洁
2.我的代码、互评同学代码截图
戴洁的代码
3.我和同学代码不同在哪里?有哪些各自优势?你更喜欢哪种代码风格?如果同学代码有错的也请帮忙指出来哪里出问题。
1.戴洁的代码调用了函数,而我是直接用for循环语句的嵌套;
2.戴洁的代码调用函数可以考虑更复杂的情况,而我的代码比较简单,易懂吧,但是对于这道题来说,结构比较简单,我个人认为没有必要调用函数 吧
3.相对来说,我觉得我们两的代码都有各自的优点吧,但是对于函数编程这方面的东西还要她学习
三、本周学习总结
1.你学会了什么?
- 学会区分形参和实参,还有函数的定义,函数调用,函数声明
2.函数首部后面不能加分号,它和函数体一起构成完整的函数定义
3.return语句的作用有两个:一是结束函数的运行,二是带着运算的结果返回主函数
4.在不返回结果的函数中,void不能省略;否则,函数类型被默认定义为int
5.在for循环语句中,可以用++,也可以用--,++是从最小值开始,--是从最大值开始
6.%md表示占m个空格,且向左对齐;%-md,表示占m个空格,且向右对齐
7.字母的递增用ch+1
8.对于像打印空心菱形、数字金字塔的题,需要一行行的去分析,从中判断它们满足什么样的数学关系式,再去写程序
2.你还不会什么
1.函数的使用不是很清楚,有时候读不懂函数的程序
2.for循环用的还不是很得心应手,
3.现在写程序虽然说没有像以前那样完全找不到思路去写,但是在看到题目的时候,还是要思考很久才能想到要怎么写
4.还有有时形参和实参的参数传递不是很理解
本周pta最后排名
|
请发表评论