C语言I博客作业09

这个作业属于哪个课程 C语言程序设计II
这个作业要求在哪里 http://edu.cnblogs.com/campus/zswxy/CST2019-1/homework/10027
我在这个课程的目标是 熟练掌握嵌套结构
这个作业在那个具体方面帮助我实现目标 进一步掌握嵌套和continue
参考文献 百度百科、primer plus

1.PTA实验作业

1.1题目名:

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

1.1.1数据处理

数据表达:定义整形变量n,i,j和字符型变量a
数据处理:运算开始
输入变量n
输入变量'a'
if n%2余数为0
for i=1;i<=n/2;i++
{
for(j=1;j<=n;j++)
{输出a
}
输出 空行
}
if n%2余数不为0
for(i=1;i<=(n+1)/2;i++)
{
for j=1;j<=n;j++
{
输出a
}
输出空行
}
end
}

1.1.2实验代码截图

C语言I博客作业09_第1张图片

1.1.3 造测试数据

数据输入 数据输出 说明
4 aaaa 输入偶数
5 aaaaa 输入奇数

1.1.4 PTA提交列表及说明


部分正确:在初次尝试时处理单数时,用了n-1但答案错误
解决办法:参照同学代码后发现按四舍五入取整办法改为为n+1解决

1.2 题目名

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

1.2.1数据处理

数据表达:用了整形变量n,i,j通过直接输入得到,flag直接赋值定义为常量
数据处理:
输入m,n;
for i=m;i<=n;i++
{ sum ← 1;
if i←0 跳过
for j=2;j { if i除以j的余数为0
sum ←sum+j;
if sum=i
{ 输出完数 = 1 ; /保证1的正常输出/
for j=2;jj从2开始自增避免1的重复输出/
if i除以j的余数为0
{ 输出+ 因子 /+是为了实现输出的因子形成等式/
输出回车;
对输出的因子进行计数;
}
}
if 因子数为0
输出None
}
End (算法结束)

1.2.2 实验代码截图

C语言I博客作业09_第2张图片

1.2.3 造测试数据

数据输入 数据输出 说明
2 3 None 尝试无完数
6 28 6 = 1 + 2 + 3 28 = 1 + 2 + 4 + 7 + 14 随机赋值
2 500 6 = 1 + 2 + 3 28 = 1 + 2 + 4 + 7 + 14 496 = 1 + 2 + 4 + 8 + 16 + 31 + 62 + 124 + 248 尝试较大数

1.2.4 PTA提交列表及说明


部分正确:for语句后面使用;使代码运行错误
解决办法:在借用同学的dev c++运行后发现多了一个分号后改过来

2.代码互评

同学代码1
C语言I博客作业09_第3张图片
我的代码1
C语言I博客作业09_第4张图片
1我用了continue结构但他仅仅用了for和if解决
2我用的是常规的变量他运用了数组长度为1000的数组number
3他最初定义一个常量count=-1我的是flag=0
同学代码2
C语言I博客作业09_第5张图片
我的代码2
C语言I博客作业09_第6张图片
1他在定义变量时最初便给fen5, fen2, fen1定义了常量方便运算,我则是整形变量
2他在输出printf前先算了total我在printf中表示
3他的变量定义太复杂我的更简洁,运算方式也差不多

3.学习总结

3.1 学习进度条

周/日期 这周所花的时间 代码行 学习到的知识点简介 目前比较疑惑的问题
10/8-10/12 10小时 120 if-else语句和输入输出格式 变量问题,输入输出格式
10/12-10/18 8小时 126 for语句和输入输出格式 公式的表达
10.18-10.25 8小时 130 自定义函数来编程和生成乘方表和阶乘表 函数的调用
10.25-11.1 8小时 139 关系符和逻辑符号 各个符号之间的优先级不明确
11.1-11.7 8小时 115 switch语句 for和switch之间变换
11.7-11.14 7小时 140 while语句 do-while和while的区别
11.14-11.21 8小时 145 嵌套和continue continue的使用条件

3.2 累积代码行和博客字数

C语言I博客作业09_第7张图片

3.3 学习内容总结和感悟

3.3.1 学习内容总结

C语言I博客作业09_第8张图片

3.3.2 学习体会

这一次的嵌套,是最感到学得吃力的一次,continue也因为和前面的break有些相似而概念混淆,考试的日子已经越来越近,我的代码输入却还在一定程度上需要依靠书本,尽管学的几种结构也不是不懂,但如果连在一起使用,用法上的冲突一不小心就会导致自己的代码编译错误,现在唯一的解决办法就是多翻翻书勤加练习了

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