C语言l|博客园作业09

£可爱£侵袭症+ 提交于 2019-12-05 04:38:34
这个作业属于哪个课程 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 学习体会

  • 这周学习还算正常,因为上周原色搞了活动,自己拍了好多照片,所以一些休息时间在做后期,专业知识也只是在
    上课的时候学了。嗯,我觉得也不因该只搞一个东西,学点别的也挺好。
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!