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的熟练度不够,函数方面的运用也不熟练,最近学的循环语句也加熟练度!自己的基础不够就加紧练习,以后不能松懈。

posted @ 2020-11-08 07:33  欢丰子  阅读(194)  评论(5编辑  收藏  举报