C语言I博客作业03
------------恢复内容开始------------
这个作业属于哪个课程 | https://edu.cnblogs.com/campus/zswxy/SE2020-3 |
这个作业的要求在哪里 | https://edu.cnblogs.com/campus/zswxy/SE2020-3/homework/11450 |
这个作业的目标 | |
学号 | 20209040 |
1.PTA实验作业
1.1 求N分之一序列前N项和
------题目内容描述:计算序列 1+1/2+1/3+...+的前N项和
1.1.1实验代码截图
1.1.2数据处理
- 数据表达:运用浮点数和输入一个整数N
- 数据处理:运用了循环结构
1.1.3PTAT提交列表及说明
- 在printf处忘记浮点数的格式
- 忘记1/i应该用浮点数1.0/i表示
1.2求奇数分之一序列前N项和
------题目内容描述:计算序列 1 + 1/3 + 1/5 + ... 的前N项之和。
1.2.1实验代码截图
1.2.2数据处理
- 数据表达:引入了一个x代替i进入循环
- 数据处理:运用了循环结构
1.2.3PTA提交列表及说明
- 不知道怎么用 i 进入循环结构,用了一个更加复杂的方法
1.3电子汪
------题目内容描述:根据电子眼识别出的两堆小球的个数,计算出和,并且用汪星人的叫声给出答案
1.3.1实验代码截图
1.3.2数据处理
- 数据表达:运用了整数型A,B
- 数据处理:运用了循环结构
1.3.3PTA提交列表及说明
- 一开始没看懂题目,觉得很复杂
- 没有根据题目要求在%d之间空格
2.阅读代码
------题目要求:找一份优秀的代码,理解代码功能,并讲出你所选代码有点及可以学习的地方,代码如下:
#include<iostream> #include<cstdio> #include<vector> #include<queue> #include<cstring> #include<cmath> #include<algorithm> using namespace std; #define N 100005 #define ll long long #define pi acos(-1.0) int a[N],b[N]; int main() { int n,m,ans; while ( scanf ( "%d%d" ,&n,&m)!=EOF) { for ( int i=1;i<=n;i++) scanf ( "%d" ,a+i); for ( int i=1;i<=m;i++) scanf ( "%d" ,b+i); sort(a+1,a+n+1); sort(b+1,b+m+1); ans = 0; int ii = 1,jj = 1; while (ii<=n&&jj<=m) { if (a[ii]==b[jj]) { ii++; jj++; ans++; } while (ii<=n&&a[ii]<b[jj]) ii++; while (jj<=m&&b[jj]<a[ii]) jj++; } printf ( "%d\n" ,ans); } } |
可学习的地方:
- 运用了多种结构,使代码结构变得清晰明了
- 可以认识到 if 结构和清楚的明白这周学到的for循环结构
- 初步接触到while结构,预习一些新的知识
3.学习总结
3.1学习进度条
周/日期 | 这周花的时间 | 代码行 | 学到的知识点简介 | 目前比较迷惑的问题 |
1/10.12~10.19 | 6h | 20行 | 初步接触C语言,学到了输出格式printf | printf格式注意它的输出样例 |
2/10.26~11.02 | 10h | 60行 | 更加深的接触C语言,学到了if结构 | if中条件应该怎样最简洁 |
3/11.02~11.9 | 15h | 100行 | 学到了for循环结构 | for循环内的条件应该怎样变化 |
时间 | 博客字数 | 代码行数 |
第一周 | 100 | 20行 |
第二周 | 120 | 61行 |
第三周 | 200 | 100行 |
- 通过这几周的学习,我渐渐认识到C语言是一门高深的语言,现在还只是入门级,以后也要加油!
- C语言是一门需要细心的语言,要细心检查才不会犯错