C语言I博客作业09

这个作业属于那个课程 C语言程序设计II
这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2019-4/homework/10030
我在这个课程的目标是 熟悉while和do-while语句以及怎样使用break,continue语句,还有在for语句中它们的区别
这个作业在那个具体方面帮助我实现目标 实现几种循环语句的灵活运用,了解各自的特点
参考文献 C语言程序设计,中国大学慕课

1.PTA实验作业

##1.1换硬币
题目描述:将一笔零钱换成5分、2分和1分的硬币,要求每种硬币至少有一枚,有几种不同的换法?

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

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

输入样例:
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

1.1.1数据处理

数据表达:本题运用整型int定义m,f5,f2,f1,t,m表示总共的钱,f5表示5分的个数,同理可得f2,f1,t代表硬币总数量,sum有多少种算法。

 数据处理:运用整型int定义m,f5,f2,f1,t,m表示总共的钱,f5表示5分的个数,同理可得f2,f1,t代表硬币总数量,sum有多少种算法。
         先输入总共的钱;
         计算五分钱的个数;
         fen5=(m-2-1)/5; 
   for(fen5;fen5>=1;fen5--);
    然后在计算二分钱的个数;
fen2=(m-1-5*fen5)/2;
     for(fen2;fen2>=1;fen2--);
最后把五分和二分钱的个数统计出来,在把总钱减去即得到1分钱的个数;
          总共有几个硬币;
         输出一分,二分,五分的个数;
         有几种换法;

1.1.2实验代码截图

1.1.3造测试数据

输入数据 输出数据 说明
5 count=0 没有换法
9 fen5:1, fen2:1, fen1:2, total:4 一种换法,五分一个,二分一个,一分二个
count = 1

1.1.4 PTA提交列表及说明


1.把关系式搞错了,忘记把五分的减去了,直接就把总钱除以二分。
2.for循环语句表达式那里有个地方打快了,中间用了个逗号。

1.2跟奥巴马一起画方块

题目描述:美国总统奥巴马不仅呼吁所有人都学习编程,甚至以身作则编写代码,成为美国历史上首位编写计算机代码的总统。2014年底,为庆祝“计算机科学教育周”正式启动,奥巴马编写了很简单的计算机代码:在屏幕上画一个正方形。现在你也跟他一起画吧!

输入格式:
输入在一行中给出正方形边长N(3≤N≤21)和组成正方形边的某种字符C,间隔一个空格。

输出格式:
输出由给定字符C画出的正方形。但是注意到行间距比列间距大,所以为了让结果看上去更像正方形,我们输出的行数实际上是列数的50%(四舍五入取整)。

输入样例:
10 a
输出样例:
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa

1.2.1数据处理

数据表达:运用整形int n,i,j;定义字符变量c.

数据处理:本题运用整形int n,i,j;定义字符变量c.
         定义字符,整数n;
         输入字符,整数n;
        for(i=0;i<(n+1)/2;i++)

		for(j=0;j<n;j++)
             输出字符c;
             换行;

1.2.2实验代码截图

1.2.3造测试数据

输入数据 输出数据
6 a
8 a
10 a

1.2.4 PTA提交列表及说明


1.开始没有分奇偶数,然后写的表达式只适用奇数,后面又改了几次,变成了偶数那部分可以,我在n+1/2这里没打括号,所以导致答案错误。打个括号,就奇偶都适用了

二.代码互评

我的代码 同学代码

|||
||

1.同学的代码方法和我差不多,但他的思路与我不同,他是先把所有的钱除以五分然后得到五分的个数,然后又除以2分钱,最后把它们的个数乘以币值看是否等于前面输入的总钱。
2.他用了三个for循环,我用了两次for循环语句
3.最后一个图片的代码也用了2次for循环语句,但他是把总钱减去了8,意思就是从最小的开始,必然是一种换法,后面的for语句条件就和我的不太一样了。

3.1 学习进度条

日期 这周所花的时间 代码行 学到的知识简介 目前比较迷惑的问题
第一周 6小时左右 40 学会一些符号的使用 开始感觉写代码太难,不知写它是干什么的所以很困惑
第二周 11小时左右 70 会使用Markdown格式和一些基础的C语言知识 对代码错误找不出原因
第三周 14小时左右 90 学会了基本语句和编写程序的列子、如if语句还有变量名称 有些格式不会及符号不会打
第四周 25小时左右 120 for循环语句的使用以及数据处理的运算符 对格式问题不太明白、表达式有点不会和一些细节问题总是忽略
第五周 40小时左右 150 函数的定义以及函数调用 不完全理解函数的使用,一些步骤有点迷糊
第六周 30小时左右 130 分支结构、逻辑运算符、字符型数据以及if-else的嵌套结构 逻辑关系搞错,常误解题目意思
第七周 40小时左右 150 switch语句的使用 switch与if-else的嵌套会有点混淆,格式还不太明白
第八周 50小时左右 170 while语句和do-while的使用,以及它们和for语句的区别 对while语句的使用不是很熟悉
第九周 40小时左右 140 continue语句和break语句的区别及用法 有点模糊,它们各自在哪里可用

3.2 累积代码行和博客字

3.3学习内容总结和感悟

3.3.1 学习内容主要总结

3.3.2 学习体会

.这周主要学习了continue语句和break语句的区别及用法,break语句:结束循环,还可用于switch语句中,continue语句:跳出语句循环,只能用于循环中。

.本周复习了while以及do-while和for循环语句三者的区别和使用范围,while语句是使用在不确定的范围,而for语句是在确定的范围。

.练习太少,不是很熟练分清它们的区别,还有格式。

.目前对学习C语言没有那么吃力了,但也有很多东西不知道,也有时把它与数学的思维放在一起,然后写出来不对,所以我每天制定个小计划。

posted @ 2019-11-22 11:45  邓志卓  阅读(221)  评论(5编辑  收藏  举报