这个作业属于哪个课程 | c语言程序设计II |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/CST2019-3/homework/9827 |
我在这个课程的目标是 | 了解、运用并学会自己编辑c语言 |
这个作业在哪个具体方面帮助我实现目标 | 能帮助我更了解c语言,练习c语言 |
参考文献 | 《c语言程序设计》《提问的智慧》 |
1.PTA实验作业
1.1求组合数
本题要求编写程序,根据公式C=n!/m!(n−m)!
算出从n个不同元素中取出m个元素(m≤n)的组合数。
建议定义和调用函数fact(n)计算n!,其中n的类型是int,函数类型是double。
1.1.1数据处理
数据表达:运用了m,n,i,result,sum五个变量,其中result和sum为双精度浮点型变量,其余均为整型变量。
函数处理:表达式:sum*=i,流程结构:for循环结构。
函数参数:主调函数:int main(),被调函数:double fact(int N),分别为整型和双精度浮点型,形参为m,n,i,result,sum,实参为N。
1.1.2实验代码截图
1.1.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
1 4 | 4 | 较小整数 |
100 20 | 184756 | 较大整数 |
1.1.4 PTA提交列表及说明
提交列表说明:
浮点错误:printf中的输出函数把%.0lf写成%0f,导致浮点错误。
答案错误:result表达式中分母部分相乘没打括号。
答案错误:result表达式括号少打半边。打括号时两边括号都会出现,删除时没注意,多删掉了一个。
答案错误:没有更正,不小心点了提交。
部分正确:主函数中忘记返回0。
部分正确:声明函数用的是整型int。
部分正确:调用函数仍是整型,忘记改了。
1.1水仙花数判断
本题要求实现一个函数,判断任一整数是否为水仙花数(必须是三位数,且数的每一位上数字的立方和与数本身相等)。例如153=13+53+3^3=1+125+27=153,而1或155则不是水仙花数。如果是水仙花数,则函数返回1,否则返回0。
1.2.1 数据处理
数据表达:运用了变量N,a,b,c均为整型变量。
函数处理:表达式:a=N/100; b=N%100/10; c=N%10; 流程结构:if-else选择结构。
函数参数:主调函数:int main(),被调函数:int func(const int N),均为整型,形参为a,b,c,实参为N。
1.2.2实验代码截图
1.2.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
153 | 1 | 题目给出数据 |
100 | 0 | 最小三位数 |
999 | 0 | 最大三位数 |
666 | 0 | 无 |
1.2.4 PTA提交列表及说明
提交列表说明:
编译错误:表达式后面没打分号。
编译错误:忘记打if-else语句后面的“}”了,与声明函数后面的“}”混淆了。
编译错误:return1后面没加分号。
运行超时:仿照第二题,多加了一个while语句,导致重复计算,运行超时。
2.代码互评
同学代码截图(计科一班彭齐家同学)
自己代码截图
1)第一份代码采用了for循环语句,看起来很高级;而第二份代码则使用表达式代替,比较清晰易懂。
2)第一份代码运用了a,sum,i三个整型变量;第二份 运用了a,b,c三个整型变量作表达式。
3)第一份代码运用了math的头文件,而第二份没有。
同学代码截图(计科三班胡青青同学)
自己代码截图
1)第二份代码看起来相对较复杂,没有使用pow幂函数,而第二份使用了。
2)第二份使用了if-else选择语句和while循环语句,而第一份运用的是while循环语句。
3)第二份使用了两个表达式,而第一份使用了三个表达式。
3.学习总结
周/日期 | 这周所花的时间 | 代码行 | 学到的知识点简介 | 目前比较迷惑的问题 |
---|---|---|---|---|
4/22~4/26 | 8h | 104 | 调用函数,形参和实参 | while的循环原理 |
3.2 累积代码行和博客字数
3.3 学习内容总结和感悟
3.3.1 学习内容总结
3.3.2 学习体会
这次作业并不算太难,除了PTA上个别题目有些难外,其他的都比较容易完成。像这次博客园,除了思维导图,其他的和我们上次作业没有什么变化。但我完成作业的时间却还是很长,这点还是需要改进。
还一个就是我做PTA的时候,太不细心了,总是一想到思路就兴奋得马上提交,结果导致编译错误一大堆,反馈到博客园这里就有点惨不忍睹了,以后决不能这样了。
这次通过做PTA,也收获了很多,从开始不知道怎么动笔,一点一点的研究,到最后完成整个代码,并且调用函数的思路也越来越清晰。唯一很遗憾的是,我有很多运算符不了解,做题总会卡住。
我百度符号意思时看到的一个比较全面的答案:https://zhidao.baidu.com/question/217975296.html