C语言I博客作业10
这个作业属于那个课程 | C语言程序设计II |
这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/CST2019-3/homework/10097 |
我在这个课程的目标是 | 学会用正确的语法格式进行编程,锻炼能力,学好C语言 |
这个作业在那个具体方面帮助我实现目标 | 习题得练习,代码互评,思维导图的绘制 |
参考文献 | 百度,C语言程序与设计,C Prime Plus |
1.PTA实验作业
1.1题目1: 输出三角形字符阵列
1.2数据处理
数据表达:用整型变量定义i,j,n,count,用字符型定义z;i,j分别代表行和列,count用来计数,首写字母A开始的表示方法为'A'+count;
数据处理:
伪代码:
- beign
- int i j n count
- count←0 //定义初始值
- char z
- scanf("%d" &n)
- for i←n i>0 //处理行与列的换行问题
- for j←0 j>0
- printf("%c " 'A'+count) //从字母A开始
- count←count+1
- printf("\n") //换行
- end
1.3实验代码截图
1.3造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
4 | A B C D E F G H I J | 验证是否正确 |
2 | A B C D | 增加实验结果的可靠性 |
3 | A B C D E F | 增加实验结果的可靠性 |
1.4PTA提交列表及说明
Q1:显示编译错误,首字母未从A开始,printf语句后没有分号;
A1:再printf语句后加上分号,并用语句'A'+count表示从A字母开始;
Q2:又显示编译错误,printf写成了prinf;
A2:将printf改成prinf;
说明:做编程题要符合特定的语法规则,且要细心,多去思考问题的所在;
1.1.1题目2: 梅森数
1.1.2数据处理
数据表达:用整型变量定义i,j,n,x,count,其中n是整数所输入的数,i是为了求x,j是为了找梅森数,count用来计数还起标志作用,x%j==0语句判断是否为素数,该题用了pow函数,故要用# include<math.h>
数据处理:
伪代码:
- begin
- int i j n x count //定义变量
- count←0 //定义初始值
- scanf("%d" &n)
- for i←2 to n
- x←pow(2,i)-1 //求出数据
- for j←2 to x
- if(x%j←0) //判断是否为素数
- break
- if(j>x/2)
- printf("%d\n" x)
- count←count+1
- if(count←0) //作为判断条件
- printf("None")
- end
1.1.3实验代码截图
1.1.4造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
6 | 3 7 31 | 验证是否正确 |
10 | 3 7 31 127 | 增加实验结果的可靠性 |
21 | 3 7 31 127 8191 131071 542287 | 大于20 |
1.1.5PTA提交列表及说明
Q1:显示部分正确,未按题目的要求列举梅森数,用了pow函数但没有用math.h头文件;
A1:使用math.h头文件,并按题意的要求进行输出;
Q2:显示答案错误,i和j的初始值为1;
A2:将i和j的初始值该为2;
说明:了解一定语法错误是有必须的,这样你就知道问题出现在哪里,同时要不断的进行练习
2.代码互评
同学代码:
我的代码:
互评结果:
- 他的代码更加简便,并且不要用字符型常量来定义
- 我的书写格式更加规范一些
- 基本思路都是一至的,且都需要换行
同学代码:
我的代码:
互评结果:
- 它定义的变量过于复杂,不易操作
- 他还调用了函数显得更加高人一等,难以读懂
- 我的书写格式更加规范一些
3.学习总结
3.1 学习进度条
周/日期 | 这周所花的时间 | 代码行 | 学到的知识点简介 | 目前比较疑惑的问题 |
---|---|---|---|---|
第一周 | 2小时 | 30行 | 如何空格,控制字符 | 编译的格式 |
第二周 | 2.5小时 | 40行 | 求华氏温度 | printf的使用方法 |
第三周 | 4.5小时 | 80行 | 分段函数的编写 | if-else不能灵活使用 |
第四周 | 2天 | 90行 | 循环语句for的使用 | 不会正确的变形,理不清题意 |
第五周 | 2天 | 200行 | 水仙花数的表示方法;个位数字平方和的表示方法 | 对陌生的概念不太了解,难以正确编程 |
第六周 | 2天 | 260行 | if与else语句与for语句的综合使用,逻辑运算符,字符型char | 题意与如何构思能力还有待提高 |
第七周 | 2天 | 220行 | switch语句的使用,以及一些常见的格式 | 不能正确的编程,如何解决问题的能力还有待提高 |
第八周 | 2天 | 230行 | 如何用do-while语句和while语句,并区分与for语句的不同地方 | 题意还是不能完全读懂,难以正确的编程 |
第九周 | 3天 | 280行 | 如何使用for语句的循环嵌套结构,并学了break与coutinue之间的区别 | 题意还是不能完全读懂,题意与如何构思能力还有待提高 |
第十周 | 3天 | 300行 | if-else,coutinue,break,for循环嵌套的综合应用 | 难以编程出与题意相符的代码,如何解决问题的能力还有待提高 |
3.2 累积代码行和博客字数 | ||||
思维导图:
内容总结:
- 明白一些常见的错误类型,如答案错误表示与题意输出的内容不符或输出的结果不同,编译错误常见的问题是标点符号不打或打错,运行超时的常见问题是输入了不要输入的内容,多种错误常见的问题是多定义了一些没有用到的变量,且再编程上还出现了语法错误;
- 学会如何用整型,浮点型,字符型定义变量,并学会用从字符A开始的语句,运用for语句的循环嵌套结构解题;
- 在输出格式控制说明中,可以加宽度限定词,指定数据的输出宽度,如%md;
感悟:
- C语言是一门语言,要想学好学会就要多加练习,要从本质上分析问题并解决问题
- 学习过程中会遇到一些难题,这时就离不开老师与同学的帮助,多问还是有必要的
- 做题过程中会遇到许多未学过的知识,这就需要我们多看课外书并预习课本上还没教的知识
3.4学习体会
- C语言中如何正确使用for语句的循环嵌套结构和coutinue,break的综合应用,对于初学的我只能不断搜集资料;
- 有时我甚至连题意都没有弄懂,在同学的帮助下我还是明白了许多;
- 在这门功课上,我们需花大量的时间来练习并巩固已学知识;
- 同时我也希望老师在上课的时候多讲几个习题助于我们理解;
- 当然我也会去图书馆去阅读一些相关资料来提升自己;