C语言1博客作业09

问题 答案
这个作业属于在哪个课程 C语言程序设计II
这个作业要求在哪里 <a href="https://edu.cnblogs.com/campus/zswxy/CST2019-1/homework/10027"
target="_blank">C语言I作业09
我在这个课程目标是 学好C语言,为后面学习打好基础
这个作业具体在哪里方面帮助我 熟悉break、continue的使用 , 熟悉使用循环的嵌套解决问题
参考文献 <a href="https://baidu.com"target="_blank">百度 , <a href="https://www.cnblogs.com/pengchen511/p/10564067.html"target="_blank">C语言作业评价标准

一:PTA实验作业

1.1题目名跟奥巴马一起画方块

美国总统奥巴马不仅呼吁所有人都学习编程,甚至以身作则编写代码,成为美国历史上首位编写计算机代码的总统。2014年底,为庆祝“计算机科学教育周”正式启动,奥巴马编写了很简单的计算机代码:在屏幕上画一个正方形。现在你也跟他一起画吧!

输入格式:

输入在一行中给出正方形边长N(3≤N≤21)和组成正方形边的某种字符C,间隔一个空格。

输出格式:

输出由给定字符C画出的正方形。但是注意到行间距比列间距大,所以为了让结果看上去更像正方形,我们输出的行数实际上是列数的50%(四舍五入取整)

1.1.1数据处理

1.数据表达:用了整形变量i,j, n;字符型变量 c
2.数据处理:

先定义变量i,j, n,c;
输入整数你,字符c;
  for i=1 to i<=(n+1)/2 do//输出行数实际上是列数的50%
  i++
  for j=1 to j<=2 do//输出的列数
  j++
  end

1.1.2实验代码贴图

1.1.3造数据测试

输入数据 输出数据 说明
10 a aaaaaaaaaa aaaaaaaaaa aaaaaaaaaa aaaaaaaaaa aaaaaaaaaa PTA数据
4 a aaaa aaaa 随机打的
5 a aaaaa aaaaa aaaaa 随机打的

1.1.4PTA提交列表说明


1.答案错误,这题是用字符c输出,但是我输入的数据没有用%c,导致错误
2.编译错误,没有使用英文键盘,分号使用错误

1.2题目名找完数

所谓完数就是该数恰好等于除自身外的因子之和。例如:6=1+2+3,其中1、2、3为6的因子。本题要求编写程序,找出任意两正整数m和n之间的所有完数。

输入格式:

输入在一行中给出2个正整数m和n(1<m≤n≤10000),中间以空格分隔。

输出格式:

逐行输出给定范围内每个完数的因子累加形式的分解式,每个完数占一行,格式为“完数 = 因子1 + 因子2 + ... + 因子k”,其中完数和因子均按递增顺序给出。若区间内没有完数,则输出“None”。

1.2.1数据处理

1.数据表达:用了整形变量m,n,i,j,s,k,count
2.数据处理

定义变量m,n,i,j,s,k,count,m,n是输入的一个区间的正整数,i,j,k是在这个区间的数,count是累加完数
for(i=m;i<=n;i++)//就行循环
for(j=1;j<i;j++)
if(i%j==0)//判断是否是该数的因子
s+=j;累加因字的和
if(s==i)判断是否为完数
printf("%d = 1",i)先打印1,每个完数都有1
for(k=2;k<j;k++)//重复操作
找到所有完数
if(count==0)没有就输出None

1.2.2实验代码贴图

1.2.3造数据测试

输入数据 输出数据 说明
2 30 6 = 1 + 2 + 3 28 = 1 + 2 + 4 + 7 + 14 PTA数据
2 10 6 = 1 + 2 + 3 随机打的
5 30 6 = 1 + 2 + 3 28 = 1 + 2 + 4 + 7 + 14 随机打的

1.2.4PTA提交列表说明



1.部门正确,我一开始以为是我定义变量和题目的字母冲突,然后改了字母,还是一样
2.部分正确,问了同学,是我的count没有赋值,导致count计数错误

二:代码互评

2.1.1同学代码

2.1.2自己代码

2.1.3相互对比

1.定义变量不同,因为后面运用的表达式不同,语句也不一样
2.他用的是if-else语句分情况讨论,比较清楚,我是直接用for语句解决问题,代码比较简单

2.2.1同学代码

2.2.2自己代码

2.2.3相互对比

1.定义变量不同,因为后面运用的表达式不同,语句也不一样
2.他用了for语句中我们表达式不一样,他是把情况列出来
3.他把那个和定义了一个字母,我是用if判断和是不是等于那个数,所以我们后面 printf不一样

三.学习总结

3.1学习进度条

这周花的时间 代码行 学到的知识简介 目前比较疑惑的问题
第一周 3天 47 简单的编程
第二周 4天 55 常量,变量,数据类型和一些运算符以及赋值运算
第三周 4天 95 关系运算、if-else语句、格式化输入语句scanf(),以及常用的数学库函数 格式控制
第四周 4天 92 使用for循环语句实现指定次数的循环程序设计 循环的顺序
第五周 4天 85 对函数的定义和调用有初步的认识,能模仿编程 对函数题还不熟练
第六周 4天 152 学会多分支结构、字符型数据类型和逻辑运算符 字符型函数不太了解
第七周 4天 182 熟悉多分支结构switch语句的使用 怎么用switch语句简单些
第八周 3天 118 熟悉使用while和do-while结构解决问题 字符型再加上while语句不太会用
第九周 4天 196 熟悉break、continue的使用 ;熟悉使用循环的嵌套解决问题 嵌套问题还不是很会

3.2累积代码行和博客字数

3.3学习内容总结

3.3.1学习内容总结

3.3.2学习体会

1.感觉后面的代码越来越复杂,需要花的时间更多。
2.这周学习了循环嵌套,使循环的代码变得简单许多,这些代码循环还是蛮有意思的
3.学习了一个新的语句,continue的使用,continue语句虽然方便,但是它只能用于循环,而break语句使用范围就比较广
4.学习的东西越来越多,感觉很多都忘了,需要勤加复习,继续加油

posted @ 2019-11-22 11:24  那就这样吧开心就好  阅读(246)  评论(7编辑  收藏  举报