C语言I博客作业07
|这个作业属于那个课程 |https://edu.cnblogs.com/campus/zswxy/CST2020-1|
| ---- | ---- | ---- |
|这个作业要求在哪里 |https://edu.cnblogs.com/campus/zswxy/CST2020-1/homework/11588 |
|这个作业的目标 |练习while,do-while结构 |
|这个作业在那个具体方面帮助我实现目标 |完成相应的代码作业,学习他人长处 |
|参考文献 |c语言程序设计(第三版) |
|学号 |20208936 |
1.PTA实验作业
1.1循环-古角猜想
题目内容描述:日本数学家古角静夫研究自然数时,发现一个有趣现象:“如果是个偶数就除2,如果是奇数就乘以3加1”,经过有限个这样的处理步骤,最后一定能得到1. 任意输入一个自然数,给出得到结果1的运算过程。
1.1.1数据处理
数据表达:使用整型定义了n,m,scanf输入。
数据处理:用while语句完成,用%取余,用/取整。<伪代码如下>:
while (n != 1)//n不为1,就开始循环
if (n % 2 == 0)//判断n是否为偶数
m = n / 2;//为偶数就除以2
m = n * 3 + 1;//为奇数就乘以3加1
1.1.2实验代码截图
1.1.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
5 | 5*3+1=16 16/2=8 8/2=4 4/2=2 2/2=1 | 5是奇数,16,8,4,2全是偶数 |
6 | 6/2=3 33+1=10 10/2=5 53+1=16 16/2=8 8/2=4 4/2=2 2/2=1 | 6,10,16,8,4,2都是偶数,3,5是奇数 |
4 | 4/2=2 2/2=1 | 4,2都是偶数 |
1.1.4 PTA提交列表及说明 | ||
![]() |
||
说明: |
答案错误是最后没有将n赋值给m,一直是答案错误。
1.2 找出一批学生的最高分
题目内容描述:
本题要求编写程序,找出最高分。
输入格式:
输入在一行中给出一系列非负整数,其间以空格分隔。当读到负整数时,表示输入结束,该数字不要处理。
输出格式:
在一行中输出最高分。
1.2.1 数据处理
数据表达:使用整型定义了mark,max.
数据处理:while和if语句镶嵌使用分情况找出最高分。<伪代码如下>:
while (mark >= 0)//分数为非负整数时开始循环
if (max < mark)//判断max与mark的的大小
max = mark;//最大分数=mark
1.2.2 实验代码截图
1.2.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
67 88 73 54 0 95 60 -1 | 95 | 95是最高分 |
67 88 99 54 12 63 -2 | 99 | 99是最高分 |
45 66 77 88 90 55 -3 | 90 | 90是最高分 |
1.2.4 PTA提交列表及说明 | ||
![]() |
说明:套用while和if语句就行,做些简单变化即可,较为简单。
2.代码互评(5分)
同学代码:
自己代码:
对比:
第二个同学代码和我的略微相似,不过我用了一个m代替算式,
第一个同学用了两个while语句,可能有些繁琐。
3.学习总结(15分)
3.1 学习进度条(5分)
|日期/周 这周所花时间 | 代码行| 学到的知识点简介| 目前比较迷惑的问题 |
| ---- | ---- | ---- | ---- | ---- |
| 第八周| 10 |60| 程序设计语言功能与语法| 没有理解其中意义和用法 |
|第九周 |15 |100| 编写简单程序,学会数据类型| 字符宽度的运用 |
|第十周 |23| 200| for语句,if-else语句| 格式问题,边界范围 |
|第十一周| 15| 210| 乘法和阶乘| 被调函数的使用|
|第十二周| 20| 240| 分支结构和逻辑运算符| 分支时有些情况考虑不到 |
|第十三周| 20| 230| 学会了switch结构,与if-else语句镶嵌使用|有时候想不到用它|
|第十四周| 15| 300|学了while和do-while结构|条件和循环体会弄混|
3.2 累积代码行和博客字数(5分)
3.3 学习内容总结和感悟(5分)
3.3.1 学习内容总结
3.3.2 学习体会
这周学会了while和do-while语句,在慢慢进步中,但在上次交作业时给了我很大教训,忘记提交了,
成果全没了,所以觉得还是要时刻提醒自己,一步一步来,学习要沉稳点。