C语言博客作业8
本周作业头
这个作业属于那个课程 | C语言程序设计II |
---|---|
这个作业要求在哪里 | 作业地址 |
我在这个课程的目标是 | 熟练运用C语言来写代码 |
这个作业在那个具体方面帮助我实现目标 | while语句的运用 |
参考文献 | 文章链接 |
本周作业
1.PTA实验作业
1.1 题目1
题目内容描述:对于给定的正整数N,求它的位数及其各位数字之和。
1.1.1数据处理
数据表达:整型N, temp, i, sum
数据处理:
{
定义N, temp, i, sum
i←0
sum←0
输入N
temp←N
while (temp)
sum ← sum + temp % 10;
emp = emp / 10;
i++;
输出i, sum
}
1.1.2实验代码截图
1.1.3 造测试数据
输入 | 输出 | 说明 |
---|---|---|
321 | 3 6 | 题目所给 |
123 | 3 6 | 较小数字 |
85236 | 5 24 | 较大数字 |
1.1.4 PTA提交列表及说明
说明:
编译错误:代码第十三行的temp /= 10的“/”与“=”之间多打了一个空格。
答案正确:改正后答案正确,ps:我有一个喜欢在符号前后打空格的习惯。
1.2 题目2
题目内容描述:在中国数学史上,广泛流传着一个“韩信点兵”的故事:韩信是汉高祖刘邦手下的大将,他英勇善战,智谋超群,为汉朝建立了卓越的功劳。据说韩信的数学水平也非常高超,他在点兵的时候,为了知道有多少兵,同时又能保住军事机密,便让士兵排队报数:
按从1至5报数,记下最末一个士兵报的数为1;
再按从1至6报数,记下最末一个士兵报的数为5;
再按从1至7报数,记下最末一个士兵报的数为4;
最后按从1至11报数,最末一个士兵报的数为10;
请编写程序计算韩信至少有多少兵。
1.2.1 数据处理
数据表达:整型i
数据处理:
{
定义i
for (i ← 1;; i++)
if ((i % 5 == 1) 与 (i % 6 == 5) 与 (i % 7 == 4) 与 (i % 11 == 10))
输出i
}
1.2.2 实验代码截图
1.2.3 造测试数据
输入 | 输出 | 说明 |
---|---|---|
无 | 2111 | 韩信有2111个兵 |
1.2.4 PTA提交列表及说明
说明:
编译错误:第六行的for (i = 1;; i++)语句中的括号内只打了一个“;”
答案正确:看pta下面的说明发现错误,在百度上得知for循环语句括号中的各表达式可以省略,但表达式之间的间隔符 ( 分号 )不能缺省,改正后答案正确。
2.代码互评
同学代码截图
自己代码截图
评价:
1.同学的代码看起来很长,而我的代码略简略一些。
2.同学的代码是在if else语句内用switch语句,把闰年和平年区分开再分别用两个switch语句;而我的代码是在switch语句中用if else语句,只用了一个switch语句就解决了。
3.同学的代码中的switch语句中是自己计算出前几个月的天数和再与本月的天数相加,而我的不用自己去算;显然同学的比较麻烦。
3.学习总结
3.1 学习进度条
周数/日期 | 这周所花的时间 | 代码行 | 学到的知识点简介 | 目前比较迷惑的问题 |
---|---|---|---|---|
第八周 | 5h | 82 | while语句的运用 | 一些代码含义运用 |
第七周 | 7h | 103 | switch语句的使用 | 部分代码的使用 |
第六周 | 5h | 114 | 熟悉了多分支结构、字符型数据类型和逻辑运算符 | 什么时候该用什么代码有些不清楚 |
第五周 | 4h | 80 | 函数的编写与函数的自定义 | 函数编写不熟练,有些符号的运用不是很懂 |
3/9-3/15 | 5h | 80 | for循环语句 | 部分代码的含义 |
3/9-3/15 | 9h | 108 | if else 的编辑与使用,乘方的使用 | 一些代码的具体含义不清楚,不能灵活的运用它们 |
3.2 累积代码行和博客字数
3.3 学习内容总结和感悟
3.3.1 学习内容总结
3.3.2 学习体会
又经过了一个星期的代码学习,本周我学到了do while语句的运用,通过pta作业的完成,我还巩固了之前所学的内容,感觉收获颇多;我一定要坚持学习下去,相信自己一定会有更多的收获。