C语言博客作业--函数

一、PTA实验作业

题目1:6-2 简单实现x的n次方

1. 本题PTA提交列表

2. 设计思路

1.定义函数double mypow( double x, int n )
2.定义一个双精度浮点型变量y并计算y=pow(x,n)
3.返回y的值

3.本题调试过程碰到问题及PTA提交列表情况说明

本题属于比较简单的题,所以一次提交就对了,没有调试过程

题目2:6-6 使用函数输出水仙花数

1. 本题PTA提交列表

2. 设计思路

1.定义函数int narcissistic( int number )
2.定义整形变量i,s=0,n=number,a=0
3.当n不为0时执行循环a++ 并且每次n=n/10 结束循环时再次定义n=number
4.当n不为0时执行循环i=n%10;s=s+pow(i,a);并且每次n=n/10
5循环结束时如果s==number返回1否则返回0
6定义函数void PrintN( int m, int n )
7.定义一个整形变量b 令b=m+1;
8.当b<n时执行循环
if(narcissistic(b))
printf("%d\n", b);
b++;

3.本题调试过程碰到问题及PTA提交列表情况说明。

本题在提交pta过程中遇到编译错误,具体原因是因为定义函数名是跟原题目定义的不一样,后来把原题目的函数跟自己定义的函数放在一起共同运行调试才解决。

题目3:7-1 求组合数

1. 本题PTA提交列表

2. 设计思路

1.声明函数double fact(int n);
2.定义整形变量m,n 双精度浮点型变量a,b,c
3.输入两个数分别存于m,n中
4.计算 a=fact(n);b=fact(m);c=fact(n-m);
5.输出result = %.0f",a/(bc)
6.定义函数double fact(int n)
7.定义双精度浮点型变量x=1整形变量i=n
8.执行循环for(i=1;i<=n;++i)
x
=i;
9.返回x的值

3.本题调试过程碰到问题及PTA提交列表情况说明。

本题在提交过程中由于存放函数返回值的变量a,b,c之前使用int定义的,所以会导致当m=n/2时答案错误,通过编译器调试改正的。

二、同学代码结对互评

1.我的代码、互评同学代码截图
我的代码:

同学代码:

2.我和同学代码不同在哪里?有哪些各自优势?你更喜欢哪种代码风格?
我跟这位同学代码最大的不同就是我用了两个循环来判断是否为水仙花数而同学只用了一个循环,相比来说同学的循环结构更为精炼,但是在if语句判定条件过程中,我是采用先算出一个sum的值再来判断是否为水仙花数,而同学则选择直接在if语句判定,就我个人而言,我觉得先算出来再进行判定这样代码会更美观,而且要是出了错误也更容易调整。

三、截图本周题目集的PTA最后排名。

四、本周学习总结

1.你学会了什么?

1.1 C语言哪些数据类型?
本周学会了最短的数据类型short最长的数据类型double,还有学会了int型是4个长度,double是8个长度,以及其他数据类型比如,long,float,char。
1.2 字符型数据需要注意地方?
字符型数据是不具备运算能力的文字数据类型,是用来保存单字符的一种变量,要用单引号来标注
1.3 自增自减运算符?
自增自减运算负包括前置自增自减比如++i这类是先增加,后引用而后置自增自减像i++是先引用,后增加。
1.4 运算符优先级?
根据整理我具体总结如下:! > 算术运算符 > 关系运算符 > && > || > 赋值运算符
1.5 C语言哪些表达式?
求解逻辑表达式exp1&&exp2求解逻辑表达式exp1||exp2,条件表达式,逗号表达式
1.6 其他内容?
其他内容的话主要是位运算了。

2.本周的内容,你还不会什么?

主要不会的就是对于位运算掌握的不是太清楚,还有对于二进制之类的掌握的不是太清楚

3.循环结构考试总结

1.哪题做错了,怎么改?
本次考试可以说是翻水水的一次考试了,二进制的前导的0那题没做,还有单词长度那道题做错了,具体原因是因为空格。打算这个周末研究下这两道题。
2.考试结果满意么,怎么改进?
这次考试结果非常不满意,很伤心不及格,也对未来我的代码生涯充满了担忧,打算平时多抽出一点时间来做pta跟看书复习,还是要多锻炼自己的思维能力。
3.其他总结。
考试的时候我用很快的时间做完前面三题,真的感觉很快,因为都特别顺,可是看到二进制那道题就懵了,看了半天之后耽搁了差不多二十多分钟才去看最后一题,可能也是因为心里急了,就写了半天还是没写对,还是打算以后要加强自己打代码的强度。

posted @ 2017-11-18 12:14  爻象  阅读(228)  评论(4编辑  收藏  举报