C语言I博客作业05

这个作业属于那个课程 C语言程序设计II
这个作业属于哪个课程 班级的链接
这个作业要求在哪里 作业的要求
我在这个课程的目标是 学会函数的自定义,使用宏定义、const解决简单问题,学习gets,puts,string.h
这个作业在那个具体方面帮助我实现目标 学会检查别人的代码,优化自己的代码,拓宽知识面
参考文献 c语言程序设计(第三版)
学号 20208927
1.PTA实验作业

1.1 简单计算器
题目内容描述:模拟简单运算器的工作。假设计算器只能进行加减乘除运算,运算数和结果都是整数,四种运算符的优先级相同,按从左到右的顺序计算。
输入在一行中给出一个四则运算算式,没有空格,且至少有一个操作数。遇等号”=”说明输入结束。
在一行中输出算式的运算结果,或者如果除法分母为0或有非法运算符,则输出错误信息“ERROR”。
1.1.1数据处理

数据表达:定义变量a,b为一个字符两边的数字,sum为计算机所求值,均为整型变量。定义字符型变量c为输入的算术运算符。
数据处理:(伪代码如下)
定义变量a,b,c,sum=0;
输入a,
while((c=getchar())!='=')判断是否结束,
若结束,则输出错误。
继续,则输入b,
if判断是否除法分母为0,
switch-case进行四则运算,
若存在非法运算符,则default输出错误。
a=sum,sum赋值给a,
while((c=getchar())!='=')判断是否结束,
若结束,则输出结果。

1.1.2实验代码截图

1.1.3 造测试数据

输入数据 输出数据 说明
1+2*10-10/2= 10 结果为10
1= 1 结果为1
1/0= ERROR 除法分母为0,输出错误
1-/ ERROR 存在非法运算符,输出错误
1.1.4 PTA提交列表及说明
1.部分正确:没有11、19行的return 0,提交测试点显示,2为浮点错误,3为答案错误,第19行代码只能单次运行
百度发现return 关键字的有一个作用就是返回程序流程的控制权,加上就能够返回到switch再次接收算术运算符。
2.编译错误:if里的等于写成了赋值。
在vs运行里的scanf未去s。

1.2 打印杨辉三角
题目内容描述:本题要求按照规定格式打印前N行杨辉三角。
输入在一行中给出N(1≤N≤10)。以正三角形的格式输出前N行杨辉三角。每个数字占固定4位。
1.2.1 数据处理

数据表达:定义i.j(i为行,j为列),n为输入的行数,K为空格数,二维数组a[11][11],均为整型。
数据处理:(伪代码如下)
定义i.j(i为行,j为列),n为输入的行数,K为空格数,二维数组a[11][11]
for循环,
先把固定数据输出,第一列全为1,每行最后一列全为1,
for循环,行从第三列开始,列从第二行开始,
求值表达式为a[i][j]=a[i-1][j-1]+a[i-1][j],
然后for循环前面输出空格,
再for循环输出二维数组。

1.2.2 实验代码截图

1.2.3 造测试数据

输入数据 输出数据 说明
6 我的对了呀
1.2.4 PTA提交列表及说明


部分正确:第14行i为1,错误。
2.代码互评(5分)
找2份同学代码,和自己代码比较,建议互评代码尽量找代码风格差异较大。

同学代码截图

自己代码截图

对比:第一个代码没有运用到数组,就直接解决了问题,运用了数组反而把问题复杂化。
3.学习总结(15分)
3.1 学习进度条(5分)

周/日期 这周所花的时间 代码行 学到的知识点简介 目前比较迷惑的问题
11/15-11/21 22小时 600 string.h,接触基础c++ vs和Dev的快捷键不会使用,string背不下
11/10-11/14 26小时 800 自定义函数,二维数组,宏定义,const 不会用复杂的宏定义和const
11/2-11/8 26小时 500 循环嵌套,一维数组,二维数组 如何把问题简单化,灵活调用循环和函数
10.26-11.1 24小时 400 循环嵌套,选择排序,冒泡排序 排序很蒙,逆时针坍缩不懂
10.19-10.25 24小时 350 switch-case,循环
3.2 累积代码行和博客字数(5分)
时间 博客字数 代码行数
---- ---- ----
第八周 1052 200
第九周 1677 1000
第十周 3252 2000
第十一周 5186 3200
第十二周 6824 4000

3.3 学习内容总结和感悟(5分)
3.3.1 学习内容总结

3.3.2 学习体会
接触到了c++新语言,感觉c语言的用法很麻烦,以后以C语言为跳板,继续学习新的语言,打好函数和文件头的基础非常重要。每天不断学习新的知识,但还是发现在自己码代码时无法凭现有知识去解决问题,让我感到非常苦恼。但是我最近学到了一个新的方法,当一个代码的方法很好,并且有有一定算法时,这个代码我就可以直接背下来,下次运用到这个部分时,就直接运用,或者在固有代码上更改符合题目要求的代码。

posted @ 2020-11-19 14:10  陈谦益  阅读(260)  评论(14编辑  收藏  举报