C语言博客作业3
|
这个作业属于哪个课程 | https://edu.cnblogs.com/campus/zswxy/CST2020-3/ | |
---|---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/CST2020-3/homework/11454 | |
这个作业的目标 | PTA上五个编程题 看各种优秀代码并学习 在自己的PTA作业中找出之前的错误并一一归类 要求学生掌握使用for循环语句实现指定次数的循环程序设计 | |
学号 | 20209022 |
1.计算序列 1 - 1/4 + 1/7 - 1/10 + ... 的前N项之和
数据处理
1.在做这个题目的时候 sum=S 没有换过来 一直用sum代替S 最后用S把sum代替之后就可以了
2.用到数学函数时 应该用特殊符号表示 不然就是编译错误
3.在数列中有等差数列中间的符号要变
2.计算序列 2/1+3/2+5/3+8/5+... 的前N项之和。注意该序列从第2项起,每一项的分子是前一项分子与分母的和,分母是前一项的分子
数据处理
1.刚开始没注意设的xyz是浮点数 他们不能整除时就不是整数了
2.开始时没有把sum定义
3.各种数学函数需要自己思考 把函数表达式清晰的表达
3.要求读入1个整数X,然后输出1+2+3+...X 的和
数据处理
1.这个确实没出现什么问题
2.阅读代码
include
include
include
define eps 1e-6
using namespace std;
在这段代码中 不是平常的<stdio.h>换成了
int main(){
scanf("%d",&T);
while(T--){
scanf("%d%d",&N,&D);
int sum = 0;
memset(p,0,sizeof(p));
这段代码中 主函数scanf输入代码 sum=0定义 %d整数
for(int i = 1; i <= N; i++){
for(int j = 1; j <= 3; j++)
scanf("%d",&p[i][j]);
}
memset(d,-1,sizeof(d));
d[0][0] = 0;
for(int i = 0; i < N; i++){
for(int j = 0; j <= D; j++){
if(d[i][j]==-1) continue;
d[i+1][j+1] = max(d[i+1][j+1],d[i][j]+p[i+1][1]);
d[i+1][j+2] = max(d[i+1][j+2],d[i][j]+p[i+1][2]);
d[i+1][j+3] = max(d[i+1][j+3],d[i][j]+p[i+1][3]);
}
}
这段代码就是用for循环 虽然中间完全看不懂
3.学习总结
3.1累积代码行和博客字数
时间 | 博客字数 | 代码行数 |
---|---|---|
第一周 | 732 | 76 |
第二周 | 1034 | 94 |
---- | ---- | ---- |
第三周 | 1124 | 184 |
3.2学习感悟
在这周的学习中 学到用代码打出函数 解决数学问题 还有要打出根号怎么办就用sqrt()式的代码 在每周学习中 都在不但进步 博客字数也多了 代码行数也多了 还需要多多努力 因为计算机这个行业必须努力 不然以后的作业和考试都不会 首先要把自己的事做好 然后不会的可以请教同学 同时也可以给不会的同学指点迷津