作业头
这个作业属于哪个课程 | C语言程序设计II |
这个作业的要求在哪里 | C语言I作业09 |
我在这门课程的目标是 | 学好C语言为学习以后学习其他的语言做准备 |
这个作业在那个具体方面帮助我实现目标 | 对while循环语句的运用,思考能力等 |
参考文献 | 《C语言程序设计I》,Dev-c++. |
1.PTA实验作业
1.1打印九九口诀表
1.题目内容描述:
对任意给定的一位正整数N,输出从11到NN的部分口诀表,要求等号右边数字占4位、左对齐
1.1.1数据处理.
- (1).定义了 i(列数项),j(行数项),n(输入的n*n部分乘法表);
- (2).运用了for()循环语句。
2.数据处理: - (1).循环结构.for(i=1;i<=n;i++){
for(j=1;j<=i;j++){
printf("%d%d=%-4d",j,i,ji);
} - (2).运算处理.%d*%d=%-4d。
1.1.2实验代码截图
1.1.3 造测试数据
输入数据 | 输出数据 | 说明 |
5 | 输出数据 | 输入值小于九 |
9 | 输出数据 | 输入值等于九 |
11 | 输出数据 | 输入值大于九 |
1.1.4 PTA提交列表及说明
- 1编译错误:for()里面的;写成了,
- 2答案错误:没有按题目的要求写(等号右边数字占4位、左对齐),后面查资料,需要%-4d这样。
- 3多种错误:把行列弄反了,也没有把等号右边数字占4位做好。
- 4部分正确:没有把行列搞对。
1.2 换硬币
1.题目内容描述:
将一笔零钱换成5分、2分和1分的硬币,要求每种硬币至少有一枚,有几种不同的换法?
输出格式:要求按5分、2分和1分硬币的数量依次从大到小的顺序,输出各种换法。
每行输出一种换法,格式为:“fen5:5分硬币数量, fen2:2分硬币数量, fen1:1分硬币数量, total:硬币总数量”。
最后一行输出“count = 换法个数”。
1.2.1数据处理.
1.数据表达:
- (1).定义了 n(输入的数值),f(表示五分的硬币),t(表示二分的硬币),o(表示一分的硬币),count(换法个数);
- (2).运用了for()循环语句,if()分支结构;
2.数据处理: - (1).循环结构.
for(f=n/5;f>0;f--)
for(t=n/2;t>0;t--)
for(o=n;o>0;o--) - (2).分支结构. if(5f+2t+1*o==n)
- (3).运算处理. 5f+2t+1*o==n;count++;
1.2.2实验代码截图
1.2.3 造测试数据
输入数据 | 输出数据 | 说明 |
6 | 输出数据 | 输入数据小于八 |
8 | 输出数据 | 输入数据等于八 |
20 | 输出数据 | 输入数据大于八 |
1.2.4 PTA提交列表及说明
- 根据PTA提交列表,简要描述调试程序碰到的问题及解决办法.
- 1编译错误:在return 0后面的;忘记打了。
- 2答案错误:没有运用五分,二分,一分的个数逐渐减一的i--。
2.代码互评
1同学代码截图
2同学代码截图
3自己代码截图
与第一位同学的区别
- 1与第一位同学的区别在于他通过运用数学里的知识,将五分,二分,一分逐渐地通过减法计算出二分,一分的值,简便易懂值得学习。
- 2她还有在for()里面用的是i>=0,所以在后面的时候就应该是要加一。
与第二位同学的区别 - 1与第二位同学的区别在于它定义五分的值为20,二分的值为50,一分的值为100已通过数学计算找到用数字表示的办法了,而我是用字母来表示的同样值得学习。
3.学习总结
3.1学习进度条
时间 | 这周所花的时间 | 代码行 | 学到的知识点简介 | 目前比较迷惑的问题 |
第一周 | 16个小时 | 28行 | 学到了编写代码的基本知识,如:顺序结构 | 符号(英)与(汉)混淆 |
第二周 | 20个小时 | 20行 | 学到了运算符,赋值 | 主要是赋值,在printf中“="左右要空格其他就不用了 |
第三周 | 23个小时 | 98行 | 学到了分支结构(if-else),&&,%,幂运算pow,平方根sqrt | 对一些新知识不能马上运用 |
第四周 | 16个小时 | 70行 | 学到了for语句,求小数点(要求用1.0来除以···),还有该变正负号知识 | 现在没问题了,在scanf()内&n&m之间要用“," |
第五周 | 26个小时 | 62行 | 学到了while循环语句,定义函数和调用函数的运用. | 在定义函数后不知道如何运用 |
第六周 | 22个小时 | 154行 | 学到了if-else if-else的深入使用、用代码解决数学(函数)问题、如求一个数的个,十,百,千位等,还有求成绩的平均值,龟兔赛跑谁快谁慢 | 对想表达的意思不能够很好的用代码表达 |
第七周 | 20个小时 | 136行 | 学到了switch语句的使用,虽然if-else分支结构可以完全取代switch的语句,但是switch也有它的优势,少量选择比较快捷。 | 对switch语句中不清楚如何嵌入if-else结构 |
第八周 | 24个小时 | 98行 | 熟悉了do-while的运用,和while的运用 | 对while还不能够熟练的运用 |
第九周 | 20个小时 | 78行 | 知道了i--的用法与i++的用法很相似,还有如何控制数据间的间隔也明白了,清楚了for()循环的多次使用 | for()循环的多次使用还不是很熟练 |
3.2累计代码行数和博客字数.
请用思维导图的形式将到目前为止所学的内容进行整理。
3.3.2学习体会
**通过本次作业学会了如何将几个数据间隔开来(%-4d),这样用处蛮大(阅读性强),很不错。还学会了如何用for()解决需重复排一份东西。还有i--(自减)的用法。