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()式的代码 在每周学习中 都在不但进步 博客字数也多了 代码行数也多了 还需要多多努力 因为计算机这个行业必须努力 不然以后的作业和考试都不会 首先要把自己的事做好 然后不会的可以请教同学 同时也可以给不会的同学指点迷津

原文地址:https://www.cnblogs.com/Yolo-srz/p/13943631.html