C语言|博客作业02

这个作业属于哪个课程 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学习感悟
在编写代码时,经常会出现很多问题,比如编程错误,答案错误等等,然而自己又找不到错误,就会很烦躁,
所以自己就要细心平静一点,平时也可以去多问老师,多做题目,培养自己的能力,以免以后不会的时候束手无策。

原文地址:https://www.cnblogs.com/seventeen-1317/p/13940448.html