C语言I博客作业05
一、本周教学内容&目标
第2章 用C语言编写程序-函数 2.5 生成乘方表与阶乘表。使学生对函数的定义和调用有初步的认识,能模仿编程。
二、本周作业头
问题 | 答案 |
---|---|
这个作业属于哪个课程 | C语言程序设计II |
这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/CST2019-2/homework/9826 |
我在这个课程的目标是 | 学会用代码生成乘方表和阶乘表,认识并进一步了解函数的定义和调用,模仿编程 |
这个作业在哪个具体方面帮助我实现目标 | 多次定义并调用函数,使用循环语句for及lf-else语句 |
参考文献 | C语言程序设计I,QQ浏览器,《C语言编程常见问题解答》 |
三、本周作业
1.PTA作业
1.1 题目
本题要求实现一个函数,判断任一整数是否为水仙花数(必须是三位数,且数的每一位上数字的立方和与数本身相等)。例如153=1^3+5^3+3^3=1+125+27=153,而1或155则不是水仙花数。如果是水仙花数,则函数返回1,否则返回0.其中N是用户传入的参数。N的值不超过int类型的范围。如果参数N是水仙花数,则返回1,否则返回0。
-
1.1.1 实验代码截图
-
1.1.2
数据表达:首先定义五个变量m、s、a、b、c,这五个变量都为整型,确定他们之间的所属关系,例如m=N; b=(m%100)/10; c=N/100,注意求余符号,这些变量分别来表示个,十,百位上面的数,最后s求和。
数据处理:在这个代码的编写中,五个变量关系分别是m=N;a=N%10;b=(m%100)/10;c=N/100;s=a*a*a+b*b*b+c*c*c,再利用lf-else语句判断,如果参数N是水仙花数,则返回1,否则返回0。
函数类型:主调函数-main,被调函数-func,被调函数的类型为整型,实参是m,s,a,b,c, 形参是N,均为整型。
-
1.1.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
100 | 0 | 这不是水仙花数 |
153 | 1 | 这是水仙花数 |
- 1.1.4 PTA提交列表
说明:1.编译错误:%的位置放错,不知道利用%,实则不知道如何用%表达数字个十百等位上的数。2.编译错误:忘加“;”。
1.2 题目:
本题要求实现一个判断素数的简单函数,并利用该函数验证哥德巴赫猜想:任何一个不小于6的偶数均可表示为两个奇素数之和。素数就是只能被1和自身整除的正整数。注意:1不是素数,2是素数。其中函数prime当用户传入参数p为素数时返回1,否则返回0;函数Goldbach按照格式“n=p+q”输出n的素数分解,其中p≤q均为素数。又因为这样的分解不唯一(例如24可以分解为5+19,还可以分解为7+17),要求必须输出所有解中p最小的解。
-
1.1.1 实验代码截图
-
1.1.2
数据表达:首先定义变量,有i,n,temp,均为整型,还要赋值l=1,利用求余函数%并用“==”判断,例如 if(n%i==0)。
数据处理:在这个代码的编写过程中,运用了多种运算符,例如关系运算符,算术运算符,例如 i=2;i<=sqrt(p);i++,利用这些运算符之后再利用lf-else语句判断输出。
函数类型:主调函数-main,被调函数-prime和void Goldbach,被调函数类型是整型,实参-i,n,temp ,形参-p,均为整型。
-
1.1.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
99 | 2 97 | p<q,n>6 |
6 | 3 3 | p=q,n=6 |
5 | 2 3 | p<q,n<6 |
-
1.1.4 PTA提交列表
说明:这道题不会,是在QQ浏览器上面搜的,重新在电脑上面打了源代码,发现自己主要是忘打“;”和将“==”打成“=”。
2.代码互评
-
例1
差异:1.我是一次性定义全部变量,而该同学分开定义。2.我是利用lf-else语句,而该同学利用了while语句。
-
例2
差异:1.我定义了有五个变量m,s,a,b,c,而该同学只定义了两个变量a,sum. 2.该同学进行了赋值sum=0 3.我只运用了lf-else语句,而该同学不仅运用了lf-else语句,还用了while语句,显得没有那么单一。
3.学习总结
3.1 学习进度条
周/日期 | 这周所花的时间 | 代码行 | 学到的知识点简介 | 目前比较迷惑的问题 |
---|---|---|---|---|
第一周 | 4/h | 150 | 学会了输入输出字符 | 如何去定义和运用Markdown格式 |
第二周 | 12/h | 300 | 知道定义变量和表格的制作及Markdown格式的运用 | 运算符怎么输入 |
第三周 | 15/h | 396 | 学会了折线图的制作和lf-else语句的运用及多种运算符的使用 | 怎样才能使输入代码更加简便,有没有惯用的 |
第四周 | 13/h | 350 | for的循环结构 | 各种情况下各种变量的灵活运用 |
第五周 | 12/h | 370 | 用代码输入生成乘方表和阶乘表 | 不知道该定义多少个量 |
3.2 累积代码行和博客字数
3.3 学习内容总结和感悟
-
3.3.1
学习内容总结:本节课讲述了如何用代码编写生成阶乘表和乘方表,主要是阶乘表,在这一块的学习中,老师向我们教述了函数的使用,其包括函数首部和函数体,其次便是函数的定义与函数的调用。
-
3.3.2
学习感悟:通过现阶段的学习,发现慢慢就懂得了前面之前没有弄懂的一些知识,例如for的循环语句和lf-else语句的使用等。所以在我们对一些科目的一点知识不熟悉的时候,也不要不愿意去接受其他新的知识,在后面慢慢的学习过程中,你会发现你对前面知识点有了新的认识与理解,当然这也需要我们自己好好努力。