这个作业属于哪个课程 | https://edu.cnblogs.com/campus/zswxy/CST2020-1/ |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/CST2020-1/homework/11452 |
这个作业的目标 | 自主学习,巩固学习了的语句,多刷题 |
学号 | 20208938 |
1.PTA实验作业
1.1 整数四则运算 (10分)
本题要求编写程序,计算2个正整数的和、差、积、商并输出。题目保证输入和输出全部在整型范围内
1.1.1实验代码截图
1.1.2数据处理
数据表达:在一行中定义2个正整数变量a和b
数据处理:输入变量a和b,能在printf语句中进行运算
1.1.3 PTA提交列表及说明
1.2求简单交错序列前N项和 (15分)
本题要求编写程序,计算序列 1 - 1/4 + 1/7 - 1/10 + ... 的前N项之和。
1.2.1实验代码截图
1.2.2数据处理
数据表达:变量q,s,t,N,sum;i为循环数,
数据处理:运用了for循环语句,对循环变量赋初值,指定循环起点,定义整型变量。
给出循环条件,判断循环变量是否超过循环终点。
1.2.3PTA提交列表及说明
·Q1:不明白+=的运算定义,导致赋值错误
·A1:+=是C语言中的一种复合赋值运算符,a+=b 等价于 a=a+b
·Q2:没有给i定义,导致编译错误
·A1:在for语句前增加定义i=1
1.3 求分数序列前N项和 (15分)
计算序列 2/1+3/2+5/3+8/5+... 的前N项之和。注意该序列从第2项起,每一项的分子是前一项分子与分母的和,分母是前一项的分子。
1.3.1实验代码截图
1.3.2数据处理
数据表达:双精度浮点数double,定义i,x,y,z,N,sum,double型数据用%.lf
数据处理:运用for循环结构,循环语句sum=sum+x/y;
z=x; x=y+x; y=z;
1.3.3PTA提交列表及说明
Q1:题目要求没看,导致答案错误
A1:将printf语句中的%d改为%.lf
Q2: 不明白怎样把分数表达出来,分数的相加表达不出来
A2:用字母x,y,z,分别表达分子分母的增加
阅读代码
#include<stdio.h>
int fun(int m,int n) //m个苹果放在n个盘子***有几种方法
{
if(m==0||n==1) //因为我们总是让m>=n来求解的,所以m-n>=0,所以让m=0时候结束,如果改为m=1,
return 1; //则可能出现m-n=0的情况从而不能得到正确解
if(n>m)
return fun(m,m);
else
return fun(m,n-1)+fun(m-n,n);
}
int main()
{
int T,m,n;
scanf("%d",&T);
while(T--)
{
scanf("%d%d",&m,&n);
printf("%d
",fun(m,n));
}
}
运用了if语句和while语句,scanf语句,int整型,并且逻辑语句清楚,有条理,但是我没有理解这个代码
3.学习总结
3.1学习进度条
周/日期 | 这周所花的时间 | 代码行 | 学到的知识点简介 | 目前比较迷惑的问题 |
---|---|---|---|---|
第十周 | 28小时 | 178 | for语句循环 | scanf语句和算数表达式、关系表达式 |
第九周 | 23小时 | 143 | scanf语句 | scanf语句的表达式,算数表达 |
3.2累积代码行
)
3.3学习感悟
在编写代码时,经常会出现很多问题,比如编程错误,答案错误等等,然而自己又找不到错误,就会很烦躁,
所以自己就要细心平静一点,平时也可以去多问老师,多做题目,培养自己的能力,以免以后不会的时候束手无策。