码迷,mamicode.com
首页 > 编程语言 > 详细

C语言博客作业--函数

时间:2017-11-19 02:03:25      阅读:264      评论:0      收藏:0      [点我收藏+]

标签:while   bin   nfa   原因   count   风格   整数   表达   分析   

一、PTA实验作业

题目1:6-5 使用函数输出一个整数的逆序数

1. 本题PTA提交列表

技术分享图片

2. 设计思路

(1)定义整型变量count,m,j,k分别存放输入的数number的位数,number的值,循环次数,number每一位数的位数,并赋初值count=0,m=number

(2)number=number/10,count++

(3)当number!=0时重复步骤(2)求得number是一个count位数

(4)k=1,循环执行count-1次k=k10求得number的每一位数是第几位,number=number+m%10k将number的每一位数进行倒叙并累加

(5)判断m/10!=0若是则m=m/10确保每一位数都进行上述操作

(6)当count>0时循环执行(4)(5)并count--

(7)返回number的值

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

-1.倒叙时出现04321类答案。

解决办法:在m=m/10之前添加条件判断m/10!=0来判断number是否是0结尾,若是则去0

题目2:6-8 使用函数输出指定范围内的Fibonacci数

1. 本题PTA提交列表

技术分享图片

2. 设计思路

int fib(int n)

(1)定义整型变量i,result,f1,f2分别存放循环次数,最终结果,该Fibonacci数的第前一项Fibonacci数,该Fibonacci数的第前二项Fibonacci数

(2)判断输入的项数n是否为1或者2,若是则return 1表示Fibonacci数第一项和第二项均为1

(3)result=f1+f2,f1=f2,f2=result

(4)当n>=3时循环执行n-2次步骤(2)实现每项Fibonacci数等于前两项之和

(5)return result

void PrintFN(int m,int n)

(1)定义整型变量a,count分别存放Fibonacci数的项数和判断区间[m,n]中是否有Fibonacci数,赋初值count=0

(2)a=1

(3)判断fib(a)>=m,若真则输出fib(a)的值且count=1。判断fib(a+1)<=n,若真则输出空格符

(4)当fib(a)<=n时重复执行步骤(3)

(5)判断count==0,若真则输出No Fibonacci number

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

- 1.当n=m时没有答案

解决办法:判断fib(a)与m,n的关系时用 >= 或 <=

题目3:7-1 求组合数

1. 本题PTA提交列表

技术分享图片

2. 设计思路

(1)进行double fact(int n)函数声明

(2)定义整型变量m,n分别存放共有n个不同元素,取m个元素,定义浮点型变量result存放组合数结果

(3)输入m,n的值

(4)result=1.0fact(n)/(fact(m)fact(n-m))计算从n个不同元素取m个元素的组合数并输出

(5)定义函数double fact(int n)

(6)定义浮点型变量result存放n!并赋初值result=1

(7)判断n是否为0,若为0则return 1;否则循环执行n次result=result*n求出n!

(8)return resul

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

1.输出结果有小数

解决办法:输出格式改为%.0f

2.n=m时没有答案

解决办法:判断fact(n)中的n是否为0,若为0则返回1

二、同学代码结对互评

1.同学互评照片。

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

我的代码:技术分享图片

王林聪的代码:技术分享图片

3.我和同学代码不同在哪里?有哪些各自优势?你更喜欢哪种代码风格?

不同点和优劣势:我的代码先求出操作数是几位数然后再用嵌套循环结构依次逆序,变量繁多,结构复杂。而王林聪同学的代码仅用到一个变量N和一句while循环即求出结果,更加直观简洁。

我更喜欢王林聪同学的代码。

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

技术分享图片

四、本周学习总结

1.你学会了什么?

1.1 C语言哪些数据类型?

整型数据,实型数据,字符型数据

1.2 字符型数据需要注意地方?

1.互换整型变量和字符型变量的定义和值时,整型数据的取值范围是有效的ASCII码

2.‘a‘和‘A‘是不同的字符型常量,‘0‘和0是不同类型的常量,前者是字符型常量,而后者是整型常量

1.3 自增自减运算符?

1.++n的运算顺序是:先执行n=n+1,再将n的值作为表达式++n的值

n++的运算顺序是:先将n的值作为表达式n++的值,再执行n=n+1

2.自增运算符和自减运算符的运算对象只能是变量,不能是常量或者表达式

1.4 运算符优先级?

课本p132

1.5 C语言哪些表达式?课堂派哪里做错,做错的请在这里分析原因?

技术分享图片

C语言博客作业--函数

标签:while   bin   nfa   原因   count   风格   整数   表达   分析   

原文地址:http://www.cnblogs.com/LHLH/p/7857952.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!