C语言|博客作业10

这个作业属于哪个课程 C语言程序设计II
这个作业的要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2019-1/homework/10095
我在这个课程的目标是 学习基础程序语言C语言,基本掌握C语言的思维方向
这个作业具体在哪个方面帮助我实现目标 编程训练,思维构建,逻辑推导,字符型变量,嵌套循环的练习
参考文献 百度,C语言程序设计

1.PTA实验作业

1.1 题目1

7-8 输出三角形字符阵列

1.1.1数据处理

数据表达:变量i是行数的计数器;变量j是每行列数的计数器;n是输入的数,也是用来监控每行列数是否完成的;num是每一行的总列数;sum是总行数
数据处理:
#include<stdio.h>
int main ()
{
    定义变量
    用户输入
    将sum以及num赋值
    while (i<num)
    {
        把num赋值给n,以免在内循环中n值丢失
        for (j=0;j<num;j++)
        {
            输出一个字母
            字符累加
            n累减1,使得在该行的字母不会无限增加
        }
        输出换行
        累加行数
        num累减
    }
    
    return0;
}  

1.1.2实验代码截图

1.1.3 造测试数据

输入数据 输出数据 说明
4 A B C D <换行>E F G <换行>H I <换行>J 第一行和第一列都是4
3 A B C <换行>D E <换行>F 第一行和第一列都是3

1.1.4 PTA提交列表及说明


格式错误1、2:在while语句的条件句中我将条件设置为i<=sum,所以在输出结果中多了一次换行。在此感谢助教罗鹏同学的帮助
答案正确:将条件改为i<sum,答案正确。

1.2题目2

7-3 梅森数

1.2.1数据处理

数据表达:变量sum是最后输出的梅森数;num是用户输入变量;i是外循环的计数器;j是内循环的计数器;k是在内循环的if-else语句里的计数器
数据处理:
#include<stdio.h>
#include <math.h>
int main ()
{
    定义变量
    用户输入
    for(i=2;i<=num;i++)
    {
        计算sum
        for(j=2;j<=sum的平方)
            if (判断sum/j是否与0相等) break;
        if(j>sum的平方)
        {
            输出梅森数
            k++;
        }
    }
    if (k==0)
        输出“None”

    return 0;

}

1.2.2实验代码截图

1.2.3造测试数据

输入数据 输出数据 说明
1 None 最小梅森数是3
6 3<回车>7<回车>31 2的6次方有三个梅森数
19 3<回车>7<回车>31<回车>127<回车>8191<回车>131071<回车>524287 2的19次方有7个梅森数
21 3<回车>7<回车>31<回车>127<回车>8191<回车>131071<回车>524287 因为给出的范围是输入需要小于20,所以当输入21时,输出仍然是输入十九是的数字

1.2.4PTA提交列表及说明


答案正确:之前的思路只有一个大概的轮廓,写出来也总是不能对,后面再网络上百度了这道题,看到了大佬们的写法,才按着思路写下来。但可能因为不是我完全的独立思考,有些地方写完了我也不能解释的很清楚

1.3题目3

7-4 同构数

1.3.1数据处理

数据表达:变量i是计数器,也是同构数
数据处理:
#include<stdio.h>
int main ()
{
    定义变量
    for (i=1;i<1000;i++)
        if (判断i是否是同构数)
        输出i(记得留出六个位数)

1.3.2实验代码截图

1.3.3造测试数据

输入数据 输出数据 说明
1 5 6 25 76 376 625 无输入

1.2.4PTA提交列表及说明


答案正确:刚开始我用的平时做题的思路想的,但是一直输出不了,那时的代码也不能调试,一调试就直接结束。后面看到别人用的是直接输出,我也就这么做了(捂脸),老师说不可以,我就捡起最开始的思路来想。虽然最后还是没有想出来,而且好复杂的样子。
答案错误:这就是我在看了同学代码之后的尝试。我忘记把1也设定进去了
答案正确:我也不知道这是什么神奇代码,耗时居然只有2ms?但是我完全没有印象
答案正确:答案错误改正之后的结果。同学的这段代码我真的想不到。利用题目给出的范围判断同构数,很简单也很巧妙。

2.代码互评

同学代码:

我的代码:

1、同学的代码是直接用两个for排出行和列的。我的是用了while和for
2、我的还是太麻烦了,而且代码很长,定义的变量很多,缺点太多了
同学代码:

我的代码:

1、同学代码很长,但是她的方法就是我之前想到的方法。
2、我是利用了题目给出的范围,她是在for循环里面嵌套if-else

3.1学习进度条

周/日期 这周所花的时间 代码行 学到的知识点简介 目前比较迷惑的问题
9/28-10/05 约2小时 26行 输入模式的学习,练习 熟练度不够,对于输入输出过程基本是完全不理解
10/05-10/12 约6小时 86行 输入和输出学会了,不同的结构,语句,运算的学习等等 熟练度不够,知识存储量不够,导致编程的时候经常需要查阅资料
10/12-10/18 约5小时 91行 可以自行编程,只有编程完成后出现错误才需要向同学求助。基本操作和思路学会,但是有些不够熟练。学习了代码的调试 不能熟练自主操作调试,编程不够熟练
10/18-10/26 约12小时 127行 可以看着书写出来函数定义基操 有时的变量定义拿不准,总是会多定义一些莫名其妙的变量,我想这是函数定义不够熟练、对题目的理解不到位的原因吧
10/26-11/03 约15小时 131行 if-else的嵌套,逻辑运算符,字符型变量 字符型变量还不理解
11/03-11/8 约17小时 121行 switch语句 思维逻辑还有点混乱
11/8-11/22 约16小时 106行 嵌套循环和break,continue的使用 在做比较有难度的题时,独立思考的结果不理想
11/22-11/29 约20小时 90行 之前的内容的深度学习 在思考的时候总会比别人想的复杂

3.2 累积代码行和博客字数

3.3 学习内容总结和感悟

3.3.1 学习内容总结

思维导图贴图:

3.3.2学习体会

本周学习结束了。过不了多久期末考试就要到来了。在这段时间的学习中,嵌套循环的练习进行的还不错,字符型变量也能够理解了。但是在思考的时候总是比别人慢一步。总是说自己要多做题,多刷题,可是到了最后连作业也完成的够呛。总是要在后面完成。希望不要挂科吧......

posted @ 2019-11-29 16:32  恣矜  Views(188)  Comments(10Edit  收藏  举报