C語言1博客作業3

这个作业属于哪个课程 https://edu.cnblogs.com/campus/zswxy/CST2020-4
这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2020-4/homework/11455
这个作业的目标 學習掌握for循環語句,編寫與函數有關的代碼
学号 20209075

一.PTA实验作业(15分/题)

1.1.1本题要求编写程序,计算序列 1 - 1/4 + 1/7 - 1/10 + ... 的前N项之和.

1.1.2数据处理

数据表达:定义了三个整形变量de,flag,i,用来输入进行比较的三个数,再定义一个整形变量n来实现值的互换。
数据处理:调用了scanf(),printf(),if语句。

1.1.3 PTA提交列表及说明

说明:

Q1:一开始我只定义了三个整形变量,发现是错的。
A1:我又定义了一个变量来实现值的互换。
Q2:错误格式: scanf("%d",n);
A2:改正后: scanf("%d",&n);

1.2 题目2本题要求编写程序,计算序列 2/1+3/2+5/3+8/5+... 的前N项之和。注意该序列从第2项起,每一项的分子是前一项分子与分母的和,分母是前一项的分子。

1.2.1 实验代码截图

1.2.2 数据处理

数据表达:定义了N,再用定义,赋值等进行编译。
数据处理:调用了scanf(),printf(),if语句。

1.2.3 PTA提交列表及说明

说明:

Q1:一开始我全用int,调试后是编译错误。
A1:于是我用double,就对了。
Q2:错误格式: double i=1;
double j=2;
改正后: double i=1.0;
double j=2.0;

1.3 题目3

要求读入1个整数X,然后输出1+2+3+...X 的和。

1.3.1 实验代码截图

1.3.2 数据处理

数据表达:定义了三个变量i, x, sum,
数据处理:调用了scanf(),printf(),if语句。

1.3.3 PTA提交列表及说明

说明:

Q1:一开始我直接 printf("%d\n",x,sum);运行测试后结果不一样。
A1:然后我用 printf("1+...+%d=%d\n",x,sum);结果才一样。
Q2:错误格式: printf("%d\n",x,sum);
A2:改正后: printf("1+...+%d=%d\n",x,sum);

2.阅读代码(-5——5分)

找一份优秀代码,理解代码功能,并讲出你所选代码有点及可以学习的地方。参考网站:
ACM解题
leecode面试数题网站,找简单题目阅读分析。
注意:这部分内容回答太泛要倒扣5分

题目:

给定一个数组和一个值t,求一个子区间使得其和的绝对值与t的差值最小,如果存在多个,任意解都可行。

代码:

分析:明显,借用第一题的思路,既然要找到一个子区间使得和最接近t的话,那么不断地找比当前区间的和更大的区间,如果区间和已经大于等于t了,那么不需要在去找更大的区间了,因为其和与t的差值更大,然后区间左端点向右移动推进即可。所以,首先根据计算出所有的区间和,
排序之后按照上面的思路求解即可。
可以学习之处:通过多个if来表示if-else结构。

3.学习总结(15分)

3.1 学习进度条(5分)

3.2 累积代码行和博客字数(5分)

3.3 学习感悟(5分)

请回顾自己的本周的学习过程,如果你有新的想法或者新的方法,请及时记录下来。

感悟:

學習的東西越來越多,還沒來得及弄懂,新知識又來了,所以我要加緊學習。

總結:

1.要編寫的代碼越來越難,要記的東西也越來越多,我應該要更加勤奮的學習了。

2.作業越來越多,也越來越難,我要多擠出些時間來做c語言的作業了。

3.對於c語言的學習,我應該要更加自覺了。

posted @ 2020-11-07 23:43  zzx20020222  阅读(117)  评论(4)    收藏  举报