c语言I博客作业02
这个作业属于哪个课程 | https://edu.cnblogs.com/campus/zswxy/CST2020-1/ |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/CST2020-1/homework/11452 |
这个作业的目标 | 复习与巩固前面的知识,学习循环结构。 |
学号 | 20208950 |
1,PTA作业
1.1题目一:整数四则运算
题目内容描述:本题要求编写程序,计算2个正整数的和、差、积、商并输出。题目保证输入和输出全部在整型范围内。
输入在一行中给出2个正整数A和B。 在4行中按照格式“A 运算符 B = 结果”顺序输出和、差、积、商
1.1.1实验代码截图
1.1.2数据处理
数据表达:根据题意定义整型变量A,B,a,s,d,f,输入A,B的值再将A与B的四则运算分别赋值给a,s,d,f,最后输出结果
数据处理:表达式:赋值表达式,运算表达式,关系表达式
流程结构:定义变量,赋值变量,输出变量
1.1.3 PTA提交列表及说明
Q1:最开始编译一直有问题
A1:赋值方向搞反,发现之后改过来了。
Q2:输出时直接用A与B。
A2:将A与B用%d替换。
1.2题目二:计算分段函数[2]
题目内容描述:本题目要求计算下列分段函数f(x)的值:
可在头文件中包含math.h,并调用sqrt函数求平方根,调用pow函数求幂。
输入在一行中给出实数x。
在一行中按“f(x) = result”的格式输出,其中x与result都保留两位小数。
1.2.1实验代码截图
1.2.2数据处理
数据表达:根据题目要求用include<math.h>与include<stdio.h>,定义浮点型变量x,y。然后用if-else判断输入值并输出结果
数据处理:表达式:赋值表达式,定义表达式,运算表达式,逻辑表达式,关系表达式
流程结构:定义变量,输入x,if-else判断,输出结果
1.2.3 PTA提交列表及说明
Q1:得不到结果,或结果小数点过多
A1:pow补括号,printf中添加%.2f
1.3 求N分之一序列前N项和
题目内容描述:本题要求编写程序,计算序列 1 + 1/2 + 1/3 + ... 的前N项之和。
输入在一行中给出一个正整数N。
在一行中按照“sum = S”的格式输出部分和的值S,精确到小数点后6位。题目保证计算结果不超过双精度范围。
1.3.1实验代码截图
1.3.2数据处理
数据表达:根据题目要求定义整型变量x与浮点型变量i,sum,先将0赋值给sum,运用for循环嵌套,计算出答案
数据处理:表达式:定义表达式,赋值表达式,运算表达式,关系表达式
流程结构:定义变量,输入下x,for循环输入赋值变量,将要算的数的总和赋值给sum,最后输出结果
1.3.3 PTA提交列表及说明
Q1:得到的结果为零或者无结果
A1:scanf中将&i改成&x
Q2:结果小数点过多,部分错误
A2:设置%.6f,输出中等号左右空格
2.阅读代码
#include <stdio.h>
int main(int argc, char *argv[])
{int a,d,j,i,n,t,r[100][100],ans=0;
scanf("%d",&n);
a=1;
j=1;
d=n;
t=n*n;
do
{
for (j=d;j>=a;j--)
{
r[d][j]=t--;
}
for (i=(d-1);i>=a;i--)
{
r[i][a]=t--;
}
for (j=a+1;j<=(n-a);j++)
{
r[a][j]=t--;
}
for (i=a;i<=d-1;i++)
{
r[i][d]=t--;
}
a=a+1;
d=d-1;
}while (a!=n-1);
if (n==3) r[2][2]=1 ;
for (i=1;i<=n;i++)
{
for (j=1;j<=n;j++)
printf("%4d ",r[i][j]);
printf("\n");
}
for (i=1;i<=n;i++)
{
ans+=r[i][i];
ans+=r[n+1-i][i];
}
printf("%d",ans-1);
return 0;
}
我学习的是一位同学的回答,运用二维数组,自定义指针与自定义函数。在里面还可以学习并区分do while与while,它们共同点都是循环语句,功能差不多,区别在于while语句进入循环体前先判断条件是否成立,而do while相反。
3.学习总结
3.1 学习进度条
周/日期 | 这周所花时间> | 代码行 |
10.19-10.25 | 10小时 | 100 |
10.26-11.1 | 12小时 | 150 |
11.2-11.8 | 12小时 | 200 |
3.2 累计代码行和博客字
时间 | 博客字数 | 代码行数 |
---|---|---|
第八周 | 1010 | 15 |
第九周 | 1643 | 34 |
第十周 | 2673 | 102 |
![]() |
3.3学习感悟
最初接触到的是Hello world,因为是第一次码代码,有些不熟练,尽管这个很基础很简单,但是还是不熟练,后来接触新知识,平常练习中有练习,所以在学习是主函数等都能较熟练的码出来。但是目前对于if-else的熟练度不够,函数方面的运用也不熟练,最近学的循环语句也加熟练度!自己的基础不够就加紧练习,以后不能松懈。