c语言|博客作业03
这个作业属于哪个课程 | <https://edu.cnblogs.com/campus/zswxy/SE2020-1 > |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/SE2020-1/homework/11448 |
这个作业的目标 | 加强对代码的理解 |
学号 | 20209148 |
一 本周作业
1.PTA实验作业
1.1 求简单交错序列前N项和
内容:本题要求编写程序,计算序列 1 - 1/4 + 1/7 - 1/10 + ... 的前N项之和。
1.1.1实验代码截图
1.1.2数据处理
数据表达:用了变量n、x、i、flag、sum, n、x、i、flag都是整数型,sum是浮点型,x、i、flag通过赋值获得,sum通过累加获得
数据处理:表达方式sum=sum+flag*1.0/i、flag=-flag,流程结构 for的循环结构。
1.1.3PTA提交列表及说明
·Q1:在改了几次之后,每次都显示scanf的返回值被忽略
·A1:之后重新输入了一次之后就好了
1.2求分数序列前N项和
内容:本题要求编写程序,计算序列 2/1+3/2+5/3+8/5+... 的前N项之和。注意该序列从第2项起,每一项的分子是前一项分子与分母的和,分母是前一项的分子。
1.2.1实验代码截图
1.2.2数据处理
数据表达:用了变量n、i、j、sum、x、k,n、k都是整数型变量,x、i、j、sum为浮点型变量,sum通过累加公式获得,x、i、j、k通过赋值和公式获得。
数据处理:表达方式sum+=j/i、i=j、j=j+x,流程结构for循环结构。
1.2.3PTA提交列表及说明
·Q1:刚开始没有单独对第一项进行赋值,直接用了公式
·A1:对i、j的第一项进行了赋值
1.3求平方根序列前N项和
内容:本题要求编写程序,计算平方根序列√1+√2+√3+...的前N项的之和。
1.3.1实验代码截图
1.3.2数据处理
数据表达:用了变量i、n、S、sum,i、n是整数型变量,S、sum是浮点型变量,sum通过累加公式获得。
数据处理:表达方式sum=sum+S、S=sqrt(i),流程结构为for循环结构。
1.3.3PTA提交列表及说明
·Q1:之前一直输出的是sum等于0,我以为没有对n赋值,于是在scanf中对n进行赋值
·A1:后来问了别人才解决的
2.阅读代码
include<stdio.h>
int main()
{
int r, c;
char a[20][20];
while (scanf("%d %d", &r, &c), r && c)
{
getchar();
int i, j, index = 0;
for (i = 0; i < r; i++)
for (j = 0; j < c; j++)
a[i][j] = getchar();
getchar();
int isRow = 1, isOrder = 1, rb = 0, re = c - 1, cb = 0, ce = r - 1;
while (1)
{
if (isRow)
{
if (rb > re)
break;
if (isOrder)
{
for (i = rb; i <= re; i++)
putchar(a[index][i] - 7);
index = re;
cb++;
}
else
{
for (i = re; i >= rb; i--)
putchar(a[index][i] - 7);
index = rb;
ce--;
}
isRow = !isRow;
}
else
{
if (cb > ce)
break;
if (isOrder)
{
for (i = cb; i <= ce; i++)
putchar(a[i][index] - 7);
index = ce;
re--;
}
else
{
for (i = ce; i >= cb; i--)
putchar(a[i][index] - 7);
index = cb;
rb++;
}
isOrder = !isOrder;
isRow = !isRow;
}
}
putchar('\n');
}
return 0;
}
这条代码很长,看着有点头痛。这条代码主要用了两个控制结构:if——else的分支选择结构和for的循环结构,运用的这两个结构正是我们最近学的,看到他对两个结构的运用,加深了我对两个结构的理解。
3.学习总结
3.1学习进度条
周/日期 | 这周所花的时间 | 代码行 | 学到的知识点简介 | 目前比较迷惑的问题 |
---|---|---|---|---|
八 | 15h | 240 | 学习了代码的输入 | 无 |
九 | 24h | 374 | 学习了变量的一些类型 | 变量之间的关系 |
十 | 40h | 500 | 学习了编程的控制结构 | 对这些控制结构的操作不太懂 |
3.2累积代码行和博客字数 | ||||
3.3学习感悟
这周确实学习许多东西,也弄明白了许多之前的一些问题,心里明白了那些操作,也就没怎么去巩固,觉得下次自己动手也是可以的。但是自己上手之后才会发现自己还是错误百出,所以c语言不仅是只靠记,还必须得去做,才能发现问题,也只有动手才能更熟练