C语言I作业10

问题 答案
这个作业属于哪个课程 C语言程序设计II
博客作业的要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2019-3/homework/10097
我在这个课的目标是 对循环的知识点进行回顾
这个作业在哪具体方面帮助我实现目标 对编译语法更了解,对代码的小细节更了解
参考文献 C语言程序设计,百度

1 PTA实验作业

1.1 7-7 编程打印空心字符菱形

本题目要求读入菱形起始字母和菱形的高度,然后输出空心字符菱形。所谓“空心菱形”是指:每行由两端为字母、中间为空格的字符串构成,每行的字符串中心对齐;上半部分相邻两行字符串长度差2, 
且字母从给定的起始字母逐一递增;下半部分与上半部分对称

1.1.1 数据处理

数据表达:使用整型变量n,m,b,k,i,j,v,和字符ch,v初始值为1,n,ch是输入值,m,b,k,i,j,v是运算需要的变量
数据处理:伪代码
int n,m,b,k,i,j,v ← 1                                            /*定义七个整型变量n,m,b,k,i,j,v,且v赋值为1*/
char ch                                                          /*定义字符型变量ch*/
scanf("%c %d",&ch,&n)                                            /*调用scanf()函数输入范围1-10的一个奇数n和字符ch*/
for  i ← 1  to  m                                                /*嵌套循环,外层循环,i赋值1,递增至m,跳出循环*/
do for  j ← 1  to  m-1                                           /*内层循环,j赋值1,递增至m-1,跳出循环*/
if(i==1)                                                         /*判断i是否等于1*/
do for  j ← 1  to  v                                             /*内层循环,j赋值1,递增至v,跳出循环*/
for  i ← 1  to  b                                                /*嵌套循环,外层循环,i赋值1,递增至b,跳出循环*/
do for  j ← 1  to  i                                             /*内层循环,j赋值1,递增至i,跳出循环*/
if(b-i==0)                                                       /*判断b-i是否等于0*/
do for  j ← 1  to  v                                             /*内层循环,j赋值1,递增至v,跳出循环*/
return 0                                                         /*结束*/

1.1.2 实验代码截图

C语言I作业10_第1张图片
C语言I作业10_第2张图片

1.1.3 造测试数据

输入数据 输出数据 说明
A 5 输出正确,代码正确
C 3 输出正确,代码正确
B 7 输出正确,代码正确

1.1.4 PTA提交列表及说明

提交说明:答案正确:c++运行时,答案错误,因为忘记看输出的字符位置不对,代码里没有正确考虑到没次循环输出的空格,并且到过来时,字符输出的顺序大了一位,因为忘记考虑上一个循环字符加 
一了

2.1 7-3 梅森数

2.1.1 数据处理

数据表达:整型变量n,a,i,j,b其中n是输入值,i,j是for循环时需要的变量,a是程序中运算变化需要的变量,b是判断输出的变量
数据处理:伪代码
int n,a,i,j,b                            /*定义五个整型变量n,a,i,j,b*/
scanf("%d",&n)                           /*调用scanf()函数输入1~20范围内的任意一位正整数n*/
if(n==1)                                 /*判断n是否等于1*/
for i ← 2 to  n                          /*嵌套循环,外层循环,i赋值2,递增至n,跳出循环*/
do for j ← 2  to  a                      /*内层循环,j赋值2,递增至a,跳出循环*/
if(a%j==0)                               /*判断a是否被j整除,是就运行下一步*/
if(b==0)                                 /*判断n是否等于0*/
return 0                                 /*结束*/            

2.1.2 实验代码截图

C语言I作业10_第3张图片

2.1.3 造测试数据

输入数据 输出数据 说明
6 3,7,31 输出正确,代码正确
1 None 输出正确,代码正确
9 3,7,31,127 输出正确,代码正确

2.1.4 PTA提交列表及说明

提交说明:答案正确: C++运行时,答案错误,因为没有正确输出当n等于1时的输出值,后面我直接在开头判断n是否为一,为一就输出None

2 代码互评

同学代码(1)

C语言I作业10_第4张图片

同学代码(2)

C语言I作业10_第5张图片

自己代码

C语言I作业10_第6张图片

(1)该同学判断输入1时的输出时是利用了一个数在for循环内的变化,在最后判断那个是否变化,没有就输出None,而我直接在开头判断n是否为一,为一就输出None
(2)该同学整体思路与我的相似但,他一些条件存在不同,我利用一个数来判断输出,我每次使它在for循环开始前进行初始化值,而他是在循环末,并且我们判断的条件还相反

3.学习总结

3.1 学习进度条

这周所花时间 代码行数 学到的知识点简介 目前比较迷惑的问题
第一周 2天 27 学会了一些基础的代码 如何正确自己打代码
第二周 2天 58 学会了改变编码的环境 如何正确自己打代码
第三周 2天 87 学会了几个复杂点的代码 如何正确自己打代码
第四周 2天 126 知道了for循环的简单使用 字符所需的特殊标识的区分
第五周 2天 85 会使用定义函数和调用 对于C语言里的一些单词的含义不够清晰
第六周 6天 158 会使用if语句的嵌套 对于C语言里的一些符号的含义和ASCII码集不够清晰
第七周 2天 145 会使用switch语句 对于switch语句的灵活度不够
第八周 3天 124 会使用do while循环 不能准确的打出自己的代码
第九周 2天 137 会使用for循环嵌套 对于以前的错误,再一次犯了
第十周 4天 154 对循环的一些知识点进行了复习 对于一些符号运用总是出错

3.2 累积代码行和博客字数

C语言I作业10_第7张图片

3.3 学习内容总结和感悟

3.3.1 学习内容总结

C语言I作业10_第8张图片

3.3.2 学习体会

学习十周了对于一些难的题已经敢动手,不在小心翼翼,因此 在一些符号上开始有了错误,不是稍大就是多大,很大程度上影响写代码的速度,我应该稳扎稳打学习,不能贪急了

你可能感兴趣的:(C语言I作业10)