c语言I作业09

这个作业属于哪个课程 这个作业要求在哪里 我在这个课程的目标是 这个作业在哪个具体方面帮助我实现目标 参考文献
C语言程序设计II https://edu.cnblogs.com/campus/zswxy/SE2019-1/homework/9980 熟练掌握程序语言的编写,了解各种函数的应用。 掌握break和continue语句 百度百科

1.PTA实验作业

1.1下面是一个完整的下三角九九口诀表:

1*1=1   
1*2=2   2*2=4   
1*3=3   2*3=6   3*3=9   
1*4=4   2*4=8   3*4=12  4*4=16  
1*5=5   2*5=10  3*5=15  4*5=20  5*5=25  
1*6=6   2*6=12  3*6=18  4*6=24  5*6=30  6*6=36  
1*7=7   2*7=14  3*7=21  4*7=28  5*7=35  6*7=42  7*7=49  
1*8=8   2*8=16  3*8=24  4*8=32  5*8=40  6*8=48  7*8=56  8*8=64  
1*9=9   2*9=18  3*9=27  4*9=36  5*9=45  6*9=54  7*9=63  8*9=72  9*9=81  

本题要求对任意给定的一位正整数N,输出从1*1N*N的部分口诀表。

内容描述: 在一行中输出N的位数及其各位数字之和,中间用一个空格隔开。

1.1.1数据处理

数据表达:定义整形变量 N,i,j其中i,j用于循环条件,N用于确定输出行数。
伪代码:定义i,j
输入行数N的格式
for(i=1;i<=N;i++)后面数字的循环
for(j=1;j<=i;j++)前面数字的循环
printf("%d*%d=%-4d",j,i,i*j);数字相乘并输出
printf("\n");输完一行进入下一行

1.1.1 实验代码截图

1.1.3 造测试数据

输入数据 输出数据 说明
4 11=1 12=2 22=4 13=3 23=6 33=9 14=4 24=8 34=12 44=16 题目说明
2 11=1 12=2 2*2=4 简短运算

1.1.4PTA提交列表及说明

编译错误:%-4d其含义是输出格式为整形,长度为4,左对齐;最开始没有明白这个

答案错误:&N我写成&n,没有区分大小写,三个答案错误都是没找到这个细节错误

1.2将一笔零钱换成5分、2分和1分的硬币,要求每种硬币至少有一枚,有几种不同的换法?

输入格式:

输入在一行中给出待换的零钱数额x∈(8,100)。

输出格式:

要求按5分、2分和1分硬币的数量依次从大到小的顺序,输出各种换法。每行输出一种换法,格式为:“fen5:5分硬币数量, fen2:2分硬币数量, fen1:1分硬币数量, total:硬币总数量”。最后一行输出“count = 换法个数”。

1.2.1 数据处理

数据表达:首先定义整形变量b,n,x,total,count,其中分别代表5分,2分,1分硬币,零钱数额,硬币总数
伪代码:定义b, n, m, x, total, count=0;
给硬币总数x输入格式
for(b=x/5; b>0; b--)五分硬币的循环
for(n=x/2; n>0; n--)两分硬币的循环
for(m=x; m>0; m--)一分硬币的循环
if(b*5+n*2+m==x)printf("fen5:%d, fen2:%d, fen1:%d, total:%d\n", b, n, m, b+n+m);符合条件输出总数
printf("count = %d", count),最后一行输出“count = 换法个数”

1.1.2 实验代码截图

1.2.3 造测试数据

输入数据 输出数据 说明
13 fen5:2, fen2:1, fen1:1, total:4 fen5:1, fen2:3, fen1:2, total:6 fen5:1, fen2:2, fen1:4, total:7 fen5:1, fen2:1, fen1:6, total:8 count = 4 题目给出
9 fen5:1, fen2:1, fen1:2, total:4 count = 1 随机

1.2.4 PTA提交列表及说明

这道题是在devc++上面编译的所以是正确的,简单来说一说我遇到的问题,最开始不知道怎么输出换法个数,后面仔细看了题目才知道,for循环的时候硬币数目是逐渐减少的。

2.代码互评

2.1同学代码截图

2.2自己代码截图

1、我只用了while,同学用的是do-while
2、同学用了嵌套语句用break跳出循环,而我只用了while语句
3、同学用了2个if嵌在while里面,我只用了1个if,我的更为简洁

3.1 学习进度条

周数/日期 这周所花的时间 代码行 学到的知识点简介 目前比较迷惑的问题
第四周/10-17 约5小时 300行左右 “for”循环结构语句的基本使用 对循环结构的使用不熟练。
第五周/10-24 约4小时 280行左右 定义函数的使用 对pta上的作业题目很难读懂意思
第六周/10-31 约5小时 350行左右 逻辑表达式 关系表达式 听课听得懂 做题不会做
第七周/11-6 约5小时 300行左右 switch语句,char数据类型 题目大致能看懂,细致末梢难以处理
第八周/11-13 约6小时 350行左右 熟悉使用while和do-while结构解决问题。 结构的运用
第九周/11-21 约7小时 400行左右 区别break与continue语句 对数学知识头疼

3.2 累积代码行和博客字数

3.3 学习内容总结和感悟

3.3.1 学习内容总结

3.3.2 学习体会

长风破浪会有时,直挂云帆济沧海!在学习的过程中难免会遇到困难但是我们要不畏惧困难 要努力克服学习上的困难,c语言的学习需要夜以继日的练习,不然很容易生疏。这周又学习了新的综合程序设计分支结构,还有char数据类型,switch语句,以及break的使用,收获颇丰,虽然感觉还是挺难得,但是也很有趣。这一个月学习的最多的就是for while if-else break continue等语句, 哪一步设置循环,循环结束的条件是什么,嵌套循环怎么使用都是这个月学习的难点,感觉做pta需要数学基础,不然题目都可能看不懂。

原文地址:https://www.cnblogs.com/ztxztx/p/11905741.html