C语言I博客作业04
这个作业属于哪个课程 | C语言程序设计II |
---|---|
这个作业要求在哪里 | C语言I作业004 |
我在这个课程的目标是 | 更加了解C语言程序设计 |
这个作业在那个具体方面帮助我实现目标 | 怎样使用循环程序设计并计算各项和 |
参考文献 | 程序设计结构类型;PTA系统常见问题解答;Markdown基本语法 |
1.PTA实验作业
1.1 7-4 求平方与倒数序列的部分和
本题要求对两个正整数m和n(m≤n)编写程序,计算序列和m2+1/m+(m+1)2+1/(m+1)+⋯+n2+1/n。
1.1.1数据处理##
数据表达:本题用了i,n,m,sum变量。其中i为循环变量,n为正整数,sum为累加和。类型有int(整形)和double(双精度浮点型)。
数据处理:数据中用到了循环体语句和算术表达式。流程结构是循环结构。
#include<stdio.h> //方法一
#include<math.h>
int main()
{
int i,n,m;
double sum;
scanf("%d %d",&m,&n);
i=1;
sum=0;
for(i=m;i<=n;i++)
{
sum=sum+pow(i,2)+1.0/i;
}
printf("sum = %.6f\n",sum);
return 0;
}
#include<stdio.h> //方法二
#include<math.h>
int main(void)
{
int i=1,m,n;
double sum=0,a=0,b=0;
scanf("%d %d",&m,&n);
for(i=m;i<=n;i++)
{
a+=pow(i,2);b+=1.0/i;
}
sum=a+b;
printf("sum = %.6f",sum);
return 0;
}
1.1.2实验代码截图
1.1.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
10 20 | sum=2585.768771 | 大于10 |
1 5 | sum=57.28333 | 大于10 |
-1 -10 | sum=0.000000 | 小于0 |
0 0 | sum=inf | 等于0 |
1.1.4 PTA提交列表及说明
1.部分正确:将第10行循环执行代码中未将"i=m"而是码的"i=1"导致该错误发生;
2.部分正确:将第7行中的"&m,&n"更换了位置导致部分正确,及同sample部分出现错误;
3.全部正确:通过多次实验,编译成功。
1.2 7-5 求交错序列前N项和
本题要求编写程序,计算交错序列 1-2/3+3/5-4/7+5/9-6/11+... 的前N项之和。
1.2.1数据处理
数据表达:本题用了i,n,sum,f变量。其中i为循环变量,n为正整数,sum为累加和。类型有int(整形)和double(双精度浮点型)。
数据表达:数据中用到了算数表达式:sum+=fi/(2i-1),其中f*=-1。流程结构是循环结构。
1.2.2实验代码截图
1.2.3造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
-5 | sum=0.000 | 小于0 |
10 | sum=0.377 | 等于10 |
18 | sum=0.386 | 大于10,小于20 |
22 | sum=0.387 | 大于20 |
1.2.4 PTA提交列表及说明
1.编译错误:虽然用了sum,但并未使用该集合,导致错误;
2.编译错误:由于找不出其它错误,后来使用另外一种方法,即更换成了现在这种编译方法;
3.答案正确:根据一步步在"C语言编辑器"中更换方法,终于输出正确,编译成功。
2.代码互评
1.同学代码截图:
我的代码截图:
不同:
1.该同学的代码比我更加简洁,仅用了三个变量N,i,sum;而我自己的代码就运用了比较复杂的六个变量denominator,flag,i,n,item,sum;
2.在赋值方面,该同学用了sum=0;我用了三个赋值flag=1,denominator=1,sum=0;
3.同学在算数中用到了pow(平方),在这里简便了自己的代码,有时候真的不一定代码多才是好,方便简洁更重要,这方面应该向她学习。
2.同学代码截图:
我的代码截图:
不同:
1.该同学代码运用了三个变量N,i,sum;而我用了四个变量i,n,sum,f;相比较来说该同学更加简洁;
2.在赋值方面,该同学用了sum=0;我用了两个赋值sum=0.0,f=1.0,n>0;
3.同学在算数中用了pow(平方),简化了操作步骤,能够对所学知识融会贯通;而我却对所学知识有很多不能融汇运用之处,今后要多多学习。
3.学习总结
3.1 学习进度条
周 | 这周所花的时间 | 代码行 | 学到的知识点简介 | 目前比较困惑的问题 |
---|---|---|---|---|
第五周 | 3小时 | 17行 | 初期开始学习“Hello World!" | 不知道如何开始编译 |
第六周 | 10小时 | 27行 | 提问的智慧及编译器下载 | 编译格式问题 |
第七周 | 10小时 | 95行 | 流程结构类型及变量类型分类方法 | 代码分析不明白以及编译格式问题 |
第八周 | 13小时 | 115行 | 循环程序设计及Dev-C++编译运行等方法 | 用专业术语将代码解释出来及各种赋值运用 |
3.2 累计代码行和博客字数
3.3 学习内容总结和感悟
3.3.1学习内容总结
· 在本次作业中,学会了for语句以及指定次数的循环程序设计。例如:第八周PTA作业;
· 学会分析错误所在,例:在Dev-C++中学会如何简易编译,调试操作以及找出错误。
3.3.2学习内容感悟
· 从一开始对代码的不知所措到现在的懵懂,虽然仍是很吃力的学习着这个专业知识,但是从在做作业中获得的紧迫感和激动是在现实中无法体验出来的;
· 码代码的日常虽然枯燥无味,但是当做出题目,没有error时心情会瞬间变好,所以在未来要努力写代码,减少错误的发生。
· 在作业中能逐渐找到的对格式等一系列错误的更正方法,但是对于代码,我还不知道如何用专业术语来表达他们的意思,所以还需要多请教多学习。