C语言I博客作业08

1.作业头

这个作业属于哪个课程 https://edu.cnblogs.com/campus/zswxy/SE2020-2
这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/SE2020-2/homework/11627
这个作业的目标 <与上周作业目标基本一致,让我们能够学会自主学习的技能,自主找到自己的错误,以他人为老师,学习其优点避免其缺点>
学号 <20209134>

一、本周教学内容&目标

第4章 循环结构 4.3熟悉break、continue的使用 4.4 熟悉使用循环的嵌套解决问题。


二、本周作业头

这个作业属于哪个课程 <C语言程序设计II>
这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/SE2020-2/homework/11627
我在这个课程的目标是 <每周上课之前提前预习下堂课内容,在下学期上课之前,学完下学期内容,并提前学习Python与Java>
这个作业在那个具体方面帮助我实现目标 <这个作业的内容要求可以很好的督促我完成我的目标,比如PTA的练习截图等>
参考文献 https://www.bilibili.com/video/BV1x7411M74h

三、本周作业

  • 1.PTA实验作业
  • 2.代码互评
  • 3.学习总结

四、作业格式

1.PTA实验作业:

1.1 题目名1:7-2 打印九九口诀表

内容描述:本题要求对任意给定的一位正整数N,输出从1*1到N*N的部分口诀表。

输入格式:输入在一行中给出一个正整数N(1≤N≤9)。

输出格式:输出下三角N*N部分口诀表,其中等号右边数字占4位、左对齐。

输入样例:

4

输出样例:

1*1=1   
1*2=2   2*2=4   
1*3=3   2*3=6   3*3=9   
1*4=4   2*4=8   3*4=12  4*4=16  

1.1.1 数据处理:

数据表达:运用3个整形变量,N用于表示需要输出的乘法表的阶数,同时用i,j表示每行输出的和每列输出的个数。
数据处理:本题运用标准输入输出函数,代码不长,仅运用了一个for循环的嵌套,最外层的for循环表示输出的列数,而中间的for循环嵌套表示输出的每行的个数,同时每输出完一行即输出一次换行符号,最终达成输出乘法表的目的。
**函数参数:该题仅含有一个主函数,不含被调函数**

伪代码:

      输入N
      进入循环(循环开始:i←1;循环执行条件:i小于等于N;循环变量:i+1)
            进入循环(循环开始:j←1;循环执行条件:j≤;循环变量:j+1)
                  输出(j*i=j*i的数值)
            输出(换行符)
      end

1.1.2实验代码截图:

1.1.3 造测试数据:

1.1.4 PTA提交列表及说明:

1.部分正确:几次格式错误都是因为左对齐的方式没有弄太明白,后面通过查找资料了解到左对齐可以通过负数的占位而达成比如%-6d就是该输出的数据左对齐占6位。

1.2 题目2:7-6 Wifi密码

内容描述:下面是微博上流传的一张照片:“各位亲爱的同学们,鉴于大家有时需要使用 wifi,又怕耽误亲们的学习,现将 wifi 密码设置为下列数学题答案:A-1;B-2;C-3;D-4;请同学们自己作答,每两日一换。谢谢合作!!~”—— 老师们为了促进学生学习也是拼了…… 本题就要求你写程序把一系列题目的答案按照卷子上给出的对应关系翻译成 wifi 的密码。这里简单假设每道选择题都有 4 个选项,有且只有 1 个正确答案。

输入格式:输入第一行给出一个正整数 N(≤ 100),随后 N 行,每行按照 编号-答案 的格式给出一道题的 4 个选项,T 表示正确选项,F 表示错误选项。选项间用空格分隔。

输出格式:在一行中输出 wifi 密码。
输入样例:

8
A-T B-F C-F D-F
C-T B-F A-F D-F
A-F D-F C-F B-T
B-T A-F C-F D-F
B-F D-T A-F C-F
A-T C-F B-F D-F
D-T B-F C-F A-F
C-T A-F B-F D-F

输出样例:

13224143

1.2.1数据处理:

数据表达:本题运用了两个整型变量与两个字符型变量,整型变量N用于接收密码位数,i用于作为接收密码正确答案的计数器,字符型变量a用于记录答案的字母,b用于记录答案的正确与否。
数据处理:本题首先运用标准输入输出函数,在输入了N之后运用一个getchar命令将回车读走,以免造成数据错误。同时每一位密码都是单独判断,通过一个switch语句判断每一位的答案正确与否从而得到密码,
**函数参数:该代码只含一个主函数,未涉及被调函数。**

伪代码:

输入N
进入循环(循环开始:i←1;循环条件:i≤N;循环变量:i+1)
      进入循环(循环套件:password=0)
            输入a与b
                  如果b=“T”
                  分支判断(a)
                        a=A:password=1;break
                        a=B:password=2;break
                        a=C:password=3;break
                        a=D:password=4;break
                  输出password
                  跳出循环
      end

1.2.2实验代码截图:

1.2.3 造测试数据:

1.2.4 PTA提交列表及说明:

答案错误:没注意输入完成之后会需要按回车,于是导致回车输进程序,导致答案错误,再通过getchar命令将回车读取走之后就正确了

2.代码互评:

同学代码截图1:

自己代码截图1:

  • 该同学代码与本人代码几乎一致,皆为先打印上部分再打印下部分,最终组成一个菱形。

同学代码截图2:

自己代码截图2:

  • 1.本人代码量过长,同学代码简短很多,但是运用了三个循环的嵌套,会造成运行时间过长。
  • 2.本人是通过循环的累加最后剩余的钱数即为一元数量。

3.学习总结:

3.1 学习进度条:

周/日期 这周所花的时间 代码行 学到的知识点简介 目前比较迷惑的问题
8 29h 508 输入、输出函数 除法的运算法则
9 34h 603 其他类型的函数如整型浮点型 判断语句if else
10 31h 563 for循环、if else判断 近期刚了解到的数组问题
11 30h 686 for循环的嵌套使用、调用自己定义的函数 调用自己定义的函数时还不够熟练
12 29h 664 判断语句的进一步学习以及自学while循环与数组 判断语句的嵌套以及while循环不够熟练,数组有些迷茫
13 25h 721 判断语句switch switch判断语句运用还不够熟练
14 32h 865 while、do while循环与for循环的比较,个人更偏向while循环的使用 本周的内容多次练习后暂时没有问题,但是对于数组问题还是不够熟练,需要多多练习
16 30h 910 continue与break语句以及for循环和while循环的循环嵌套 循环的嵌套通过大量练习已经较为熟练

3.2 累积代码行和博客字数:

3.3 学习内容总结和感悟:

3.3.1 学习内容总结:

3.3.2 学习体会:

本周学习到了一个新知识点———循环结束语句break与continue其用法为:

while(执行条件)
{
      巴拉巴拉巴拉(循环体);
      if(巴拉巴拉)
      {
            break;
      }
}
while(执行条件)
{
      巴拉巴拉巴拉(循环体);
      if(巴拉巴拉)
      {
            continue;
      }
}

二者的区别为后者即continue只会结束本次循环,跳过下面剩余语句,执行下一次循环,break则跳过当前循环,直接进行下一步

关于如何跳出循环:

  • 1、return语句:比如在循环结构中加入判断语句,当判断为真时,加入return 0结束程序
  • 2、go to语句:该用法是添加一个标志在语句前,比如
flag:printf("李大乐好帅");
if(a==1)
{
goto flag;
}
return 0;

那么,当遇到a=1的时候,系统就会打印“李大乐好帅”这句话。

  • 3、在循环内加入判断语句,同时判断为真时加入breakcontinue

本周的学习体会:由于上周没有上编程课,同时临近考试,于是没有预习本周所学的break、continue语句以及for循环、while循环的嵌套使用,但是在此之前,因为对该用法非常感兴趣,于是有过刷网课预习的经历,所以在完成本周pta的作业的时候没有感到比较棘手,虽然如此,作业也还是弄了一天多的时间,比前几周的时间花的要更多,由此说明我的学习还不够深入,我还需要继续努力。
学习感受:本周所学的continue和break语法以及for、while循环的嵌套还大有门道,使用过程中如果一个不注意会导致大量问题,同时随着学习的深入与内容的推进,老师所上的课程以及不能够满足我们的需求,需要再拿出课余时间学习编程语言。
每周的逼逼赖赖日常吐槽环节👽👽:上周听说没有C语言课程以及C语言作业的时候,其实一开始我是心情是:“芜湖,起飞🐉🐉,这女强人(琛哥)是累了??哈哈哈哈他也会累????终于可以休息一周了”,但是一周之后的这周,由于突然休息一周导致了我的做作业的效率以及学习的效率大打折扣,说上来也惭愧,老师没有推动我学习,我居然也真的不去学习,安安心心休息了一周,在码作业的代码的时候深深感受到了手生的痛苦,对于代码的使用没有之前那么熟练了,因此,不论在何时何地,同学们都不要停止自己的学习,宁可做个辛苦的人!!🦄🦄

最后的最后还是送给本班宝贝儿们一句话:吾生也有涯,而知也无涯。🤍🤍

posted on 2020-12-19 21:21  handsome李大乐  阅读(437)  评论(10编辑  收藏  举报