C语言I博客作业05
这个作业属于那个课程 | C语言程序设计II |
这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/SE2019-2/homework/9830 |
我在这个课程的目标是 | 对函数的定义和调用有初步的认识,能模仿编程 |
这个作业在那个具体方面帮助我实现目标 | 用C语言编写程序,能生成乘方表与阶乘表 |
参考文献 | 《Markdown基本语法》《c语言程序设计》《ACM解题》 |
1.PTA实验作业
1.1水仙花数判断
题目内容描述:本题要求实现一个函数,判断任一整数是否为水仙花数(必须是三位数,且数的每一位上数字的立方和与数本身相等)。例如153=1^3+5^3+3^3=1+125+27=153,而1或155则不是水仙花数。如果是水仙花数,则函数返回1,否则返回0.
1.1.1数据处理
数据表达:1.定义变量sum,a,N
2.sum是三位数的每一位上的数字的立方的和
3.此编码使用了while语句和if语句
数据处理:1.表达式:sum += (a % 10) * (a % 10) * (a % 10)
2.流程结构:循环结构和分支结构
函数参数:1.主调函数名称:main
2.被调函数名称:func
3.被调函数类型:整型函数
1.1.2实验代码截图
1.1.3造测试数据
输入数据 | 输出数据 | 说明 |
108 | 0 | 非素数 |
370 | 1 | 素数 |
666 | 0 | 非素数 |
999 | 0 | 非素数 |
1.1.4PTA提交列表及说明
编译错误:1.符号、字符等不规范,部分字符为中文式且符号漏写或多写
2.没有理清该用何种语句而导致编码错误
1.2使用函数验证哥德巴赫猜想
题目内容描述:本题要求实现一个判断素数的简单函数,并利用该函数验证哥德巴赫猜想:任何一个不小于6的偶数均可表示为两个奇素数之和。素数就是只能被1和自身整除的正整数。注意:1不是素数,2是素数。
1.2.1数据处理
数据表达:1.定义变量p,i,flag,n,p,q
2.函数prime定义flag为整型变量,函数Goldbach定义p,q为整型变量
3.此编码使用了if语句和for语句
数据处理:1.表达式:无
2.流程结构:循环结构和分支结构
函数参数:1.主调函数名称:main
2.被调函数名称:prime、Goldbach
3.被调函数类型:prime为整型函数,Goldbach为空函数
1.2.2实验代码截图
1.2.3造测试数据
输入数据 | 输出数据 | 说明 |
11、18 | 11 is a prime number | 11是素数 |
19、27 | 19 is a prime number | 19是素数 |
66、99 | 无 | 没有素数 |
1.2.4PTA提交列表及说明
编译错误:1.开始不知使用何种循环结构,何种语句,该运用何种变量,经过多次尝试后逐渐理顺思路
2.字符输入有误
格式错误:1.输出的头尾多了空格和换行符
2.输出没有完全按照题目输出要求输出,没有看清题目后的注意事项
2.代码互评
他人代码:
我的代码:
互评:1.在prime函数部分我的代码与他人代码结构相同,但内容不尽相同。他人代码若输入数据是素数返回1,反之返回0;而我先定义flag,若输入数据是素数则flag=0,反之flag=1且重新返回flag。
2.在Goldbach函数部分他人代码使用while语句,我的代码中使用if语句和for语句。
3.在Goldbach函数部分要将整数分解成两部分,然后判断分解出的两个整数是否都为素数。如是,则输出;否则,重新分解、判断。故这只是有限的验证,不能作为对哥德巴赫猜想的证明。
3.学习总结
3.1学习进度条
周/日期 | 周所花的时间 | 代码行 | 学到的知识简介 | 目前比较迷惑的问题 |
5/20~5/26 | 9h | 119 | 分支结构与循环结构的共同使用 | 流程结构的选择应用和语句的正确用法 |
3.2累计代码行数和博客字数
时间 | 博客字数 | 代码行数 |
第一周 | 800 | 0 |
第二周 | 1299 | 16行 |
第三周 | 2019 | 98行 |
第四周 | 2035 | 109行 |
第五周 | 2049 | 119行 |
3.3学习内容总结和感悟
3.3.1学习总结内容
3.3.2学习体会
1.学习的时候一定要记笔记:记笔记可以加深印象,而且,忘记了也便于查找,不用一本书的去翻.
2.真正学到的知识是我接受了,而不是我知道了:对于知识的掌握,我认为应该是接受了这个知识并能知道如何运用它,而不是单纯的知道它的存在。
3.一定要上机做题:实践是检验真理的唯一标准