博客园 首页 私信博主 回到顶部 联系博主
(仅pc端)
管理 换背景图

C语言I作业09

这个作业属于那个课程 C语言程序设计II
这个作业要求在哪里 我的作业
我在这个课程的目标是 学习循环的嵌套。
这个作业在那个具体方面帮助我实现目标 学会了用循环嵌套穷举解决一些实际问题。
参考文献 百度百科
  • 1.PTA实验作业(20分/题)

    1.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数据处理

    数据表达:定义整型变量count,total,x,i,y,z;x用来接收输入。
    数据处理:输入零钱
    	for (i = (x - 3) / 5; i >= 1; i--)
    	{
    		for (y = (x - 1 - 5 * i) / 2; y >= 1; y--)
    		{
    			z = x - 5 * i - 2 * y;
    			count++;
    			total = i + y + z;
    			if(x==5*i+y*2+z)
    			输出 i,y,z,total;
    		}
    	}
        输出count;
    	return 0;
    }
    

    1.1.2实验代码截图

1.1.3 造测试数据

输入数据 输出数据 说明
15 fen5:2, fen2:2, fen1:1, total:5
fen5:2, fen2:1, fen1:3, total:6
fen5:1, fen2:4, fen1:2, total:7
fen5:1, fen2:3, fen1:4, total:8
fen5:1, fen2:2, fen1:6, total:9
fen5:1, fen2:1, fen1:8, total:10
count = 6
硬币面值15
17 fen5:2, fen2:3, fen1:1, total:6
fen5:2, fen2:2, fen1:3, total:7
fen5:2, fen2:1, fen1:5, total:8
fen5:1, fen2:5, fen1:2, total:8
fen5:1, fen2:4, fen1:4, total:9
fen5:1, fen2:3, fen1:6, total:10
fen5:1, fen2:2, fen1:8, total:11
fen5:1, fen2:1, fen1:10, total:12
count = 8
硬币面值17
20 fen5:3, fen2:2, fen1:1, total:6
fen5:3, fen2:1, fen1:3, total:7
fen5:2, fen2:4, fen1:2, total:8
fen5:2, fen2:3, fen1:4, total:9
fen5:2, fen2:2, fen1:6, total:10
fen5:2, fen2:1, fen1:8, total:11
fen5:1, fen2:7, fen1:1, total:9
fen5:1, fen2:6, fen1:3, total:10
fen5:1, fen2:5, fen1:5, total:11
fen5:1, fen2:4, fen1:7, total:12
fen5:1, fen2:3, fen1:9, total:13
fen5:1, fen2:2, fen1:11, total:14
fen5:1, fen2:1, fen1:13, total:15
count = 13
硬币面值20

1.1.4 PTA提交列表及说明

提交列表说明:

  • 编译错误:主函数缺少对应令牌。解决:在末尾加上‘}’。

1.2 题目2

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

输入格式:

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

输出格式:

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

输入样例:

10 a

输出样例:

aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa

1.2.1 数据处理

数据表达:定义了整型 x,字符型 w。
数据处理:{
	int x;
	char w;
	输入宽度与字符
	if (x%2==0)/*判断奇偶*/
	for (size_t i = 0; i < x / 2; i++) {
		for (size_t z = 0; z < x; z++)
			输出字符
		换行
	}
    else{
	for (size_t i = 0; i < (x + 1) / 2; i++){
			for (size_t z = 0; z < x; z++)
				输出字符
			换行
	}	
          }
	return 0;
}

1.2.2 实验代码截图

1.2.3 造测试数据

输入数据 输出数据 说明
10 a aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
方块大小为10
5 q qqqqq
qqqqq
qqqqq
组成方块字符为q(输入为奇数)
8 w wwwwwwww
wwwwwwww
wwwwwwww
wwwwwwww
方块大小为8,组成方块字符为w

1.2.4 PTA提交列表及说明

提交列表说明:

  • 部分正确:没考虑输入为奇数的情况。解决:设置判断条件if(x%2==0)进行分类解决奇偶问题。

2.代码互评(5分)

同学代码截图

自己代码截图

不同点:

  • 同学利用NUM=N/2.0+0.5;解决出现奇数除二出现0.5的问题。
  • 我则是分奇偶判断进行不同运算。

3.学习总结(15分)

3.1 学习进度条(5分)

周/日期 这周所花的时间 代码行 学到的知识点简介 目前比较迷惑的问题
第四周 5h 30
第五周 7h 50
第六周 10h 63
第七周 9h 44 学习了if条件语句。
第八周 9h 56 学习了for循环,并了解了css。
第九周 8h 153 学习了自定义函数。 对函数返回值的路径还有疑惑。
第十周 8h 142 学习了嵌套结构。增加了逻辑语句认识。 对字符型的使用不熟练。
第十一周 9h 287 学习了switch结构,了解了数组 对数组的虚拟空间申请不怎么会
第十二周 15h 324 学习lwhlie do whlie循环 对whlie循环条件不清楚
第十三周 13h 358 学会了循环嵌套 对嵌套流程不太清楚

3.2 累积代码行和博客字数(5分)

时间 博客字数 代码行数
第四周 347 2
第五周 799 32
第六周 1288 162
第七周 1884 322
第八周 2941 372
第九周 4752 425
第十周 5279 567
第十一周 6113 845
第十二周 7452 882
第十三周 8563 1240

3.3 学习内容总结和感悟(5分)

3.3.1 学习内容总结

3.3.2 学习体会

​ 这次我们学习了循环的嵌套结构,来解决一些二维输出问题和穷举问题。总的来说,题目越来越像数学题,数学本身也不好,所以难都也是有那么多的。但也只有肯去学还是能看懂的。

posted @ 2019-11-21 21:53  温一壶白开  阅读(253)  评论(6编辑  收藏  举报