C语言博客作业--函数
一、PTA实验作业
题目1: 使用函数判断完全平方数
1. 本题PTA提交列表(要提交列表,不是结果)
2. 设计思路(此处用流程图最好)
-
1.定义一个求完全平方数的函数
-
2.定义一个整型变量item,和一个double型变量result
-
3.因为如果不是完全平方数的话item的值会小于result,是则相等,所以判断if (result==item)
3.本题调试过程碰到问题及PTA提交列表情况说明
-
1.为什么还有负数的测试点,在c语言根号下负数还有定义吗?
-
2.没有碰到问题一遍过......
题目2:使用函数输出水仙花数
1. 本题PTA提交列表(要提交列表,不是结果)
2. 设计思路(此处用流程图最好)
-
1.调用数学函数并定义判断水仙花数的函数
-
2.先判断输入的数字位数并记录于count
-
3.利用for循环及其中的取余,及除法来进行每一位数的count次方计算并累加于result
-
4.判断result是否等于输入的number
-
5.再定义一个输出水仙花数的函数
-
6.使用for循环来持续输出满足if ( narcissistic(i) )判断条件的i的值
3.本题调试过程碰到问题及PTA提交列表情况说明
- 1.刚开始没有了解到在定义了int narcissistic( int number )函数后后面定义的void PrintN( int m, int n ) 函数中的判断一个数是否为水仙花数可以直接调用narcissistic(i)来作为判断条件,而重新编码来输出水仙花数又繁琐又容易错
后来看书时找到解决方案
简单明了。。。。
题目3: 求组合数
1. 本题PTA提交列表(要提交列表,不是结果)
2. 设计思路(此处用流程图最好)
-
1.定义一个计算组合数的函数double mystyle (int x,int y),x<=y;
-
2.先用一个for语句来计算分母:分母就是x的阶乘;
-
3.再用一个for语句来计算分子:相乘数的个数等于y-x的数,并从大向小排起来相乘
-
4.最后用分子除分母得出组合数值result并返回result的值.......
3.本题调试过程碰到问题及PTA提交列表情况说明
- 1.由于使用的是高中的计算组合数的办法来进行编程,在第二个for语句刚开始不能很好的把控,把分母的个数弄成了x个导致答案出错,后来经过思考才得出y-x的结果
二、同学代码结对互评(1分)
1.同学互评照片。
2.我的代码、互评同学代码截图
我的代码:
王林聪的代码:
3.我和同学代码不同在哪里?有哪些各自优势?你更喜欢哪种代码风格?如果同学代码有错的也请帮忙指出来哪里出问题。
-
王同学用的是调用fact(n)函数来计算阶乘,代码简洁易懂,在最后输出result时使用强制转换result为int型去掉小数点,但我觉得还可以直接使用%.0f来去除小数点
-
我用的是自己想到的高中求组合数的简便方法,但转到计算机上编程时就不是简便了而是更加繁琐,而且代码可读性也不强,但能自己想另一种办法来编此程序也是有点创新精神了吧,可喜可贺,可喜可贺!
-
我还是比较喜欢自己的代码风格,有自己的freestyle......
三、截图本周题目集的PTA最后排名。
四、本周学习总结(2分)
1.你学会了什么?
1.1 C语言哪些数据类型?
- 整数型,浮点型(单精度和双精度),字符型
1.2 字符型数据需要注意地方?
- 注意输入和输出时所用的格式控制说明%c,输入多个字符时,这些字符之间不能有间隔会被吸收
1.3 自增自减运算符?
- 自增的只能是变量不能是常量,++n是先执行n=n+1,在将n值作为表达式的值而n++是先将n的值作为表达式的值在n=n+1.自减同理
1.4 运算符优先级?
- 同学建议去看看书吧,书中自有黄金屋,书中自有颜如玉.
1.5 C语言哪些表达式?课堂派哪里做错,做错的请在这里分析原因?
- 算术表达式,赋值表达式,关系表达式,逻辑表达式,条件表达式,逗号表达式
刚开始没弄明白++n和n++区别混乱
1.6 其他内容?
- To be continue......
2.本周的内容,你还不会什么?
- 转二进制,还有些按复杂的表达式的优先级关系来运算的会混乱,需要看书
3.循环结构考试总结(全部同学都要写)
1.哪题做错了,怎么改?
- 1.第四题第五题没有时间写,第二题花的时间太长对于嵌套循环掌握还是不太好,还需要努力的打代码,努力看书,注意自主安排时间复习前面内容。
2.考试结果满意么,怎么改进?
- 非常不满意,感觉自己的思维还没有跟上做题速度慢,希望在日后能够加强自己的思维方式和能够学会自主学习。