| 这个作业属于哪个课程 | C语言程序设计II |
|---|---|
| 这个作业要求在哪里 | 链接 |
| 我在这个课程的目标是 | 掌握C语言以及熟练运用 |
| 这个作业在哪个具体方面帮助我实现目标 | 询问同学,百度,vs2019上的报错 |
| 参考文献 | 链接 |

1.1 题目名
7-6 跟奥巴马一起画方块
美国总统奥巴马不仅呼吁所有人都学习编程,甚至以身作则编写代码,成为美国历史上首位编写计算机代码的总统。2014年底,为庆祝“计算机科学教育周”正式启动,奥巴马编写了很简单的计算机代码:在屏幕上画一个正方形。现在你也跟他一起画吧!
1.1.1数据处理
整型变量:int i, a, j;
char n;(输入变量:a,n)
scanf("%d %c", &a, &n);
if (a % 2 == 0) (如果输入的是偶数)
{
for (i = 1; i <= a / 2; i++) (行)
{
for (j = 1; j <= a; j++) (字符的个数)
{
printf("%c", n);
}
printf("\n");
}
}
if (a % 2 != 0) (如果输入的是奇数)
{
for (i = 1; i <= (a + 1) / 2; i++) (行)
{
for (j = 1; j <= a; j++) (字符的个数)
{
printf("%c", n);
}
printf("\n");
}
}
1.1.2实验代码截图

1.1.3 造测试数据
| 输入数据 | 输出数据 | 说明 |
|---|---|---|
| 10 a | aaaaaaaaaa*5 | 样例 |
| 5 b | bbbbb*3 | 说明,正确 |
| 4 c | cccc*2 | 说明,正确 |
1.1.4 PTA提交列表及说明

- 部分错误:1.在vs上首先是第二个for循环用的I,导致一直循环。2.再是I和j付的是0,导致多循环了一次。
1.2 题目2
7-2 换硬币
将一笔零钱换成5分、2分和1分的硬币,要求每种硬币至少有一枚,有几种不同的换法?
1.2.1 数据处理
整型变量i, a, b, c, count
int i, a, b, c, count = 0;
scanf("%d", &i);
for (a = i / 5; a > 0; a--) (从最大值开始递减,换成5分)
{
for (b = i / 2; b > 0; b--) (换成2分)
{
for (c = i; c > 0; c--) (换成1分)
{
if (a * 5 + b * 2 + c == i) (判断3个加起来是否还是原数)
{
printf("fen5:%d, fen2:%d, fen1:%d, total:%d\n", a, b, c, a + b + c); (输出)
count++; (计算换算所用的次数)
}
}
}
}
printf("count = %d", count); (输出)
1.2.2 实验代码截图

1.2.3 造测试数据
| 输入数据 | 输出数据 | 说明 |
|---|---|---|
| 13 | fen5:2, fen2:1, fen1:1, total:4 | 样例 |
| 15 | fen5:2, fen2:2, fen1:1, total:5 | 说明,正确 |
| 4 | count=0 | 说明,正确 |
1.2.4 PTA提交列表及说明

- 答案错误:1.print里面输出的是ten5=,2.count那里=两边没加空格(这个真的太恶心了),3.if那里没加大括号,导致count的数据不对。
2.代码互评


上图为同学的,下图为我自己的
- 上图:1.他考虑到了负号,将负号变为正号 2.使用do-while语句,保证了至少循环一次 3.处理的部分比较啰嗦,用if进行判断。
下图:1.比上图简洁,但没有考虑很多 2.直接用while语句 3.没有考虑到负数的情况。
3.1 学习进度条
| 周/日期 | 这周所花时间 | 代码行 | 学到的知识点简介 |
|---|---|---|---|
| 10/7-10/10 | 9+ | 30行+ | scanf()语句,if-else语句,平方,根号 |
| 10.16/10.17 | 5个小时 | 141 | 如何运用for语句 |
| 10.23/10.26 | 5个小时 | 141 | 如何定义函数,运用while语句 |
| 10.30/11.2 | 8小时 | 200+ | 如何在if else和for中嵌套 |
| 11.6/11.7 | 5小时 | 100+ | 如何灵活的运用switch语句 |
| 11.13/11.14 | 5小时 | 80+ | n=getchar();和switch加return 0 |
| 11.20/11.21 | 5小时 | 92 | 数组怎么用 |
3.2 累积代码行和博客字数

3.3 学习内容总结和感悟
3.3.1 学习内容总结
这周学习了新的语句continue。它可以结束本轮循环,进行下一循环,而break则是跳出循环。也知道了
行列可以用两个for表示,在atd上了解了一点结构体。3.3.2 思维导图

3.3.3 学习体会
- 这周学习还算正常,因为上周原色搞了活动,自己拍了好多照片,所以一些休息时间在做后期,专业知识也只是在
上课的时候学了。嗯,我觉得也不因该只搞一个东西,学点别的也挺好。
