欢迎来到solokillの博客
solokill
佛曰:
一花一世界,一叶一菩提

C语言I博客作业09

这个作业属于哪个课程 C语言程序设计I
这个作业要求在哪里 作业链接
我在这个课程的目标是 熟练掌握C语言,能独立完成简单项目,毕业前想做出一个简单的游戏
这个作业在那个具体方面帮助我实现目标 熟悉break与continue的使用和区别
参考文献 作业评价标准

1、PTA实验作业

1.1换硬币

问题描述:将一笔零钱换成5分、2分和1分的硬币,要求每种硬币至少有一枚,有几种不同的换法?

1.1.1 数据处理

  • 数据表达:定义了5个整型变量,a,b,c分别表示5分,2分,1分硬币的个数,sum表示待换零钱值,count表示换法个数。
  • 数据处理:

伪代码如下
定义a,b,c,sum,count;
输入数据sum;
for(a=sum/5;a>0;a--)五分硬币个数
{
for(b=(sum-a5)/2;b>0;b--)两分硬币个数
{
for(c=(sum-a
5-b2);c>0;c--)一分硬币个数
{
if(5
a+2*b+c==sum)选出符合条件的方案
计数器
输出方案
}
}
}
输出方案个数
return0;

1.1.2 实验代码截图

1.1.3 造测试数据

输入数据 输出数据 说明
13 见图 样例,正确
88 见图 随机数,正确

1.1.4 PTA提交列表及说明


  • 1、输出超限:for语句表达式二有逻辑错误,导致程序死循环,均改成>0后正确。
  • 2、答案错误:忘记换行了。
  • 3、编译错误:加printf换行时没加分号。

1.2找完数

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

1.2.1 数据处理

  • 数据表达:定义了6个整型变量,m,n代表输入的数据范围,i1表示每一次输入的数据,i2是用来求因子的一个中介数,G表示完数数目,sum表示除本身之外其他因子之和。
  • 数据处理:

伪代码如下
定义m,n,i1,i2,G;
输入取值范围m~n;
for(i1=m;i1<=n;i1++)逐个处理数据
定义并初始化值sum=0;
for(i2=1;i2<i1;i2++) 开始找因子
if(i1%i20)
{
sum=sum+i2; 累加所有因子之和
}
if(sum
i1) 判断是不是完数
G++; 计数器
printf("%d = 1",i1); 输出一个类似于表头格式
for(i2=2;i2<i1;i2++)
{
if(i1%i20)
{
printf(" + %d",i2);输出每个因子
}
}
printf("\n");换行
if(G
0)
printf("None");如果没有完数就输出None

1.2.2 实验代码截图


1.2.3 造测试数据

输入数据 输出数据 说明
2 30 6 = 1 + 2 + 3 28 = 1 + 2 + 4 + 7 + 14 样例,正确
50 4001 496 = 1 + 2 + 4 + 8 + 16 + 31 + 62 + 124 + 248 随机数,正确

1.2.4 PTA提交列表及说明


  • 1、当时忘了定义变量G。
  • 2、没有给G赋初始值,改为G=0后正确。

2、代码互评

同学代码

我的代码

  • 1、同样是循环语句,该同学用的for语句,而我用的while,方法各异,但是结果均正确。
  • 2、该同学以时间T作为判断for循环结束的标准,我以位移S判断是否结束while循环,该同学只用了一个for语句就完成了该题,而我还在while中嵌套了一个if-else语句,所以相比之下,他的更简洁,我的有些拖沓了,还可以进一步改进一点。

3、学习总结

3.1 学习进度条

日期 这周所花的时间 代码行 学到的知识简介 目前比较迷惑的问题
10/7--10/13 9+个小时 100+ 编写if-else语句,算术运算与赋值运算规则等 while语句的使用以及适用范围
10/14--10/20 8+个小时 190+ for的使用,if-else与for的组合使用 while与for的区别
10/21--10/27 6+个小时 340+ 定义函数与调用 对函数的定义与调用不熟悉
10/28--11/3 6+个小时 260+ if-else的镶嵌结构 用太多if-else会比较混乱
11/4--11/10 6+个小时 170+ switch语句的基本运用 switch与if-else的区别
11/11--11/17 6+个小时 120+ while语句的使用 什么是指针
11/18--11/24 6+个小时 90+ continue的使用以及其与break的区别 **什么是指针,长度可变数组与长度固定数组的区别和适用情况

3.2 累积代码行和博客字数

3.3 学习内容总结和感悟

3.3.1 学习内容总结


思维导图

3.3.2 学习体会

  • 答:1、本周学习了continue,以及它和break的区别,PTA的练习很好的促进了我掌握for语句的嵌套结构。
  • 2、临近期末了,心情有点小激动,很想得到自己满意的考试成绩,认可自己付出的时间与努力。
  • 3、学习是一场漫长的旅途,路人会时而激情澎湃,时而枯燥无聊,而学者,会在激情中沉着冷静,在枯燥时燃起斗志。
posted @ 2019-11-20 17:31  solokill  阅读(225)  评论(1编辑  收藏  举报