C语言I博客作业05

这个作业属于那个课程 C语言程序设计II
这个作业要求在哪里 C语言1博客作业05
我在这个课程的目标是 学会运用函数编代码
这个作业在那个具体方面帮助我实现目标 写C语言作业的时候,编代码的实践中
参考文献 教材《C语言程序设计1》

一、Pta实验作业

1.1求组合数

本题要求编写程序,根据公式算出从n个不同元素中取出m个元素(m≤n)的组合数
建议定义和调用函数fact(n)计算n!,其中n的类型是int,函数类型是double。

输入格式:

输入在一行中给出两个正整数m和n(m≤n),以空格分隔。

输出格式:

按照格式“result = 组合数计算结果”输出。题目保证结果在double类型范围内。

输入样例:

输出样例:

1.1.1数据处理

数据表达:使用了整型int变量i,m,n,其中i连用了2次,浮点型double变量result,M,N,Q以及定义和调用函数fact(n)
其中double变量result要通过整型变量i通过for循环语句循环式子 result = resulti得出,而M,N,Q则是用来附上函数fact(n)的;
数据处理:首先一个基础源程序框架,然后函数声明:double fact(int n);主要通过for循环语句时result = result
i以及最终的:result = fact(n)/(fact(m)*fact(n-m));
** 函数参数:int main() 为主调函数;double fact(int n)为被调函数;整型;实参为result;形参为n,都为整型。

1.1.2实验代码截图

1.1.3 造测试数据

|||
-|-|-|
输入数据|输出数据|说明|
6 7|result = 7|m≤n|
7 7|result = 1|m=n|
8 7|result = 0|n≤m|

1.1.4 PTA提交列表及说明

提交列表说明:

1.编译错误:第16行int i后面没打“;”;
2.答案错误:输出结果没按照“result =”来写;
3.答案错误:结果保留小数错了。

1.2水仙花数判断

本题要求实现一个函数,判断任一整数是否为水仙花数(必须是三位数,且数的每一位上数字的立方和与数本身相等)。例如153=13+53+3^3=1+125+27=153,而1或155则不是水仙花数。如果是水仙花数,则函数返回1,否则返回0.

函数接口定义:


其中N是用户传入的参数。N的值不超过int类型的范围。如果参数N是水仙花数,则返回1,否则返回0。

裁判测试程序样例:

输入样例:

输出样例:

1.2.1数据处理

数据表达:使用了整型int变量sum,n
数据处理:基础源程序框架,运用while循环语句和if-else判断语句来运行表达式sum +=(n % 10)(n % 10)(n % 10);n /= 10;
** 函数参数:int main() 为主调函数;被调函数:int func(const int N),被调函数的名称func,被调函数的类型为整型,形参N.

1.2.2实验代码截图

1.2.3造测试数据

|||
-|-|-|
输入数据|输出数据|说明|
7|1|素数|
100|0|不是素数|
0|1|代码条件之外|

1.2.4PTA提交列表及说明

二、代码互评

同学(付翔亮)代码截图

同学(乐树文)代码截图

我的代码截图

  • 第一位同学和第二位同学的代码区别:第一位同学代码用的while循环语句,而第二位同学用的是for循环语句;而且第一位同学用的n /=10表示得到的值等于n除以10后商的整数部分,而第二位同学则用了两个表达式x=i%10和i=i/10来表达这个意思,而且第一个同学做了一些多余的操作,在最后那里多加了个“{}”,虽然不影响,但完全没必要。
  • 我和两位同学的代码区别:我的代码和第一位同学的差不多,不过就是排版好看一些,所以和第二位同学的区别类似于第一条。

三、学习总结

3.1 学习进度条

|||||
-|-|-|-|-|
周/日期|这周所花的时间|代码行|学到的知识点简介|目前比较迷惑的问题|
第七周|10小时|132行|常用的数学函数,if-else语句|函数的运算问题|
第八周|13小时|156行|学会运用for循环语句和知晓DevcC++调试|对于DevcC++还是不大会用|
第九周|12小时|145行|学会了函数定义和调用函数|对于函数的返回,不是很理解|

3.2 累积代码行和博客字数

时间 博客字数 代码行数
第五周 464 0
第六周 1017 50
第七周 1638 185
第八周 2533 341
第九周 3421 520

3.3 学习内容总结和感悟

3.3.1 学习内容总结

  • 本周学习了定义和调用函数,以及函数的返回;
  • 这周进一步进行了代码的调试,上周我只是知道有这么个东西,会流程,具体操作其实并不会,这周会了大概,设置断点,添加查看变量,一步一步测试;

请用思维导图的形式将到目前为止所学的内容进行整理。

3.3.2 学习体会

学到的东西越来越多,题目难度也越来越大,有点不适应了,时间越来越紧迫,不是说大一最轻松吗。。。我怎么感觉玩的时间都没有,一周两节课,作业也有两次。通过课本稍微学了一点while的循环语句,感觉比for循环语句使用方便,也可能是题目问题,还不够熟练,为了变优秀,我还得继续努力啊。

posted @ 2019-10-26 19:08  凉瑾年  阅读(299)  评论(6编辑  收藏  举报