C语言作业解决,c语言作业9

本文通过详细解析PTA实验作业,探讨如何在零钱兑换问题中应用continue和break语句,强化循环结构的理解。作者分享了两个实例,一个是关于换硬币的计数问题,另一个是画方块的控制流程。通过实际操作,巩固了对这两种控制结构的掌握和代码调试技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这个作业属于哪个课程这个作业要求在哪里

熟练循环语句,复习break语句,掌握continue语句

我在这个课程的目标

学会使用continue语句和复习掌握break语句

这个作业在哪个具体方面帮助我实现目标

利用continue语句和break语句作用于循环语句

PTA实验作业

3707f24fc9088a29ad3d0438ad22f493.png

题目一

7-2 换硬币

数据处理

数据表达:定义了count,num1,num2,num5,其中num1是一分钱,num2是2分钱,num5是五分钱,count是零钱的换法。要求按5分、2分和1分硬币的数量依次从大到小的顺序,输出各种换法。每行输出一种换法,格式为:“fen5:5分硬币数量, fen2:2分硬币数量, fen1:1分硬币数量, total:硬币总数量”。最后一行输出“count = 换法个数”。

数据处理:

include

int main()

{

定义零钱money

输出零钱

定义零钱的换法count,一分钱num1,两分钱num2,五分钱num5

定义换法一开始为0

零钱可以用五分钱换几次,累计循环

零钱可以用两分钱循环几次,累计循环

零钱可以用一分钱循环几次,累计循环{

如果5 * num5 + 2 * num2 + num1 == money

换法累加

输出使用五分钱的次数,一分钱的次数,两分钱的次数

}

}

输出零钱的换法

return 0;

实验代码截图

8a3be849a2c65cb9929e81331c0df7d1.png

造测试数据

输入数据

输出数据

说明8

fen5:1,fen2:1,fen1:1,total:3 count=1

8的零钱有一种换法

10

fen5:1,fen2:2,fen1:1,total:4 fen5:1,fen2:1,fen1:3,total:5 count=2

10的零钱有两种换法

12

fen5:1,fen2:3,fen1:1,total:5 fen5:1,fen2:2,fen1:3,total:6 fen5:1,fen2:1,fen1:5,total:7 count=3

12的零钱有三种换法

PTA提交列表及说明

120c3b9a4ecd1c3516c5c9727a99db5d.png

编译错误:此错误出现在辅助工具上,由于在书写for循环语句的时候没有注意分号的书写,主要是括号里面没写分号,用的逗号,导致编译错误,仔细检查后发现错误并改正了错误

题目二

7-6 跟奥巴马一起画方块

数据处理

数据表达:定义了变量i和j,n,a,其中a是字符型变量,i和j是整型变量,输出由给定字符a画出的正方形。但是注意到行间距比列间距大,所以为了让结果看上去更像正方形,我们输出的行数实际上是列数的50%(四舍五入取整)。

数据处理:

include

int main()

{

定义整型变量i和j用于循环语句,变量n

定义字符型变量a

输出n

输出a

当n%2=0时

i循环并累加

{

j循环并累加

{

输入a

}

换行

}

当n%2不等于0时

i第二次循环并累加

{

j第二次循环并累加

{

输出a

}

换行

}

return 0;

}

实验代码截图

2738d787867f5b4022d9375c231de29a.png

造测试数据

输入数据

输出数据

说明5a

aaaaa aaaaa aaaaa

a组成关于a的矩形

6b

bbbbbb bbbbbb bbbbbb

b组成关于b的矩形

10c

cccccccccc cccccccccc cccccccccc cccccccccc cccccccccc

c组成关于c的正方形

PTA提交列表及说明

96647078d42e84d1a8adb5ddf9a2ab35.png

答案错误:在辅助工具上编译,在 for(i=1;i<=n/2;i++)这个地方写成了n而不是n/2,经过调试找到了问题所在

代码互评

同学代码

f408886bf190b78e29e8b363500f4040.png

我的代码

dd96574d1913e9234b6eb6f77c73aa6b.png

对比代码,发现我和这位同学的差别在于:我运用了三组for循环对五分,两分和一分进行循环,而他只用了两个,而且我运用了if语句if(5num5+2num2+num1==money),而他用了很多表达式

在格式方面他比我要好看一点,我需要多多注意

同学代码

289277854e20153489250594d689cbea.png

我的代码

6e0dcfa3091e9dfb49c907921ab031be.png

对比代码发现,在使用for循环语句的时候我使用了多组,他使用了比较少,而且我使用了if语句判断小数是否等于0

我的要容易理解,他的比较简便,不过总有适合自己的方法

学习进度

学习进度条

66f08ca9b7c5b360bf0f2ce070670261.png

累计代码和博客字数

1ad8d4c9677d37ed4f1a467572a64a3b.png

学习内容感悟和体会

学习感悟

作业现在能够及时并且能迅速完成,不过经常不注意自己定义的变量的现象还是存在

复习了循环语句,并进一步学习了break语句和新学的continue语句

f5ea889ed0078b083747ca21d809ae6d.png

学习体会

这是我第一次提前交作业,说明我对于c语言的学习有了很大的提升

常见的错误就是不注意自己定义的变量,老是不分清大小写,老是出现编译错误的低级错误

临近期末,还有许多知识点没有掌握,需要多多复习和询问老师同学解决,最少保证不挂科

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值