C语言第五次博客作业--函数

一、PTA实验作业

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

1. 本题PTA提交列表

2. 设计思路

(1)定义函数 mypow( double x, int n )

(2)定义整型变量i为循环变量,浮点型变量sum为阶乘的积

(3)for i=1 to n 重复下面步骤

(4)计算sum=sum*x

(5)返回sum的值

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

初始代码是这样的:提交错误为段错误

第二天学霸室友告诉说要用for循环和一个求阶乘的变量,然后我就添加了一个for循环,但是并没有正确,因为我的返回值没有正确,也没有给sum赋值,错误代码如下:

她看了我的代码无奈的解释道,这个题不用输出,已经定义的变量不用再定义一次,再次改正,还是没有正确,然后就开始调试,运行及调试过程如下:

不管i 为多少sum一直都是0,后来把sum定义为浮点型才算正确,正确代码如下:

一步步下来发现自己的代码离正确代码十万八千里,不知道用for循环,没有重新定义新的变量,没有赋值,输出和返回值也错得一塌糊涂,我不是很明白返回值是什么意思,为啥要返回?又该如何返回?返回给谁?

题目2:使用函数判断完全平方数

1. 本题PTA提交列表

2. 设计思路

(1)函数接口定义int IsSquare( int n )

(2)int i放循环变量,m放输入的一个整数,M放完全平方数

(3)赋值m=1,M=1

(4)输入一个整数m,当i<=m时,重复循环

(5)如果m*m==M,返回1,否则,返回0

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

初始代码:

编译的时候要输入两个以上的数据,但是又只能识别一个数据,要么是前面的YES,要么就是后面的No,如上图所示

PTA提交列表为部分正确,根据提示好像是少考虑了m负数的情况了,但是改着改着改成了编译错误

题目3:400~499 中4出现的次数

1. 本题PTA提交列表

2. 设计思路

(1)int integer放整数,i放循环变量,count放4的次数,single放个位数字,ten放十位数字,hundred放百位数字

(2) 分别求个位十位百位的值, single=x%10; //整数取余得到个位数// ten=x/10%10; //除10再取余得到十位数// hundred=x/100; //除以100得到百位数//

(3)个位为4,十位和百位不为4,十位为4,个位和百位不为4,百位为4,个位和十位不为4,则4出现的次数为1次

(4)个位不为4,十位和百位为4,十位不为4,个位和百位为4,百位不为4,个位和十位为4,则4出现的次数为2次

(5)个位十位百位都为4,则4出现的次数为3次

(6)个位十位百位都不为4,则4出现的次数为0次

(7)返回count

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

第一次没有仔细检查符号标点等细节造成编译错误,第二次是答案错误,因为没有考虑count=0的情况,也没有在每个if的后面加上count,补上之后就正确了,代码过程如下:

题目4:求组合数

1. 本题PTA提交列表

2. 设计思路

(1)int m,n; double result;

(2)输入m,n

(3)调用函数求阶乘 fact(n); fact(m);fact(n-m);

(4)根据公式计算结果 result=fact(n)/(fact(m)*fact(n-m));

(5)result = 组合数计算结果”输出

(6)定义求组合数函数

(7) int i为循环变量, double sum实现累乘

(8)当i<n,重复循环,sum=sum*i

(9)返回sum

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

(1)调用函数求阶乘的时候只调用了一个,没有对sum赋值,

(2) 计算result=fact(n)/(fact(m)*fact(n-m))没有把除号后面括起来,导致结果很大

(3)定义变量的时候想太多,以为很复杂,所以定义了很多个循环变量

(4)result = %.0f和result = %f的区别

二、同学代码结对互评

1.同学互评照片

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

我的代码:

雅慧的代码:

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

我和雅慧代码不同在我的多,她的少

我的优势是变量定义得比她的详细,她的优势是代码少,清晰,她用了for循环,而我没有

我更喜欢她的风格,但是她的代码我没看懂,我的我看懂了

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

四、本周学习总结

1.你学会了什么?

c语言的数据类型有整型,浮点型,字符型。

字符型数据不能乱打空格,因为空格也算一个字符

自增自减运算符的运算对象只能是变量,不能是常量或表达式,n++和n--都相当于n=n+1,但是n++的运算顺序是先将n的值作为表达式n++的值,再执行n=n+1,++n的运算顺序是先执行n=n+1,在将n的值作为表达式++n的值。n--和--n 同理

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

二进制,十进制和十六进制,补码反码原码,运算符和表达式,l例如a+=a-=a*a总是会算错

3.循环结构考试总结

1.哪题做错了,怎么改?

一个题都没做对,不知道要怎么办了都

2.考试结果满意么,怎么改进?

不满意,还是学不会啊,谁能教教我怎么改进

时间: 2024-10-12 05:57:42

C语言第五次博客作业--函数的相关文章

C语言第五次博客作业

一.PTA实验作业 题目1:6-6 使用函数输出水仙花数 1. 本题PTA提交列表 2. 设计思路 (1) 首先先定义narcissistic函数. (2)定义四个整形变量n,a,d,cnt,sum,cnt用来计算有几位数,sum用来存放每个数的cnt次方的和. (3)进行一个循环,让n=number(防止后面需要用number时它的值发生变化),循环中n=n/10,直到 n<=0结束循环,其中每次循环cnt值都加一,用来计算number有几位数. (4)再进行一个for循环(让a=number

C语言第十一次博客作业---函数嵌套调用

一.实验作业 1.1 PTA题目 题目:递归实现顺序输出整数 1. 本题PTA提交列表 2. 设计思路 printdigits函数 定义整型变量result存放结果 if n是10的倍数 result=n else 取n的个位数赋值给result 递归调用printdigits(n/10) 输出result 3.代码截图 4.本题调试过程碰到问题及PTA提交列表情况说明 ①递归出口错误.零的情况考虑错误. ②修改递归出口后正确. 1.2 学生成绩管理系统 1.2.1 画函数模块图,简要介绍函数功

第五次博客作业

在学院强烈推荐邹欣<构建之法——现代软件工程>这本书时,一度对软件开发方法极度欠缺了解的我也想一探究竟这本书的奥秘所在,为了能够从中获取对软件整个开发方法及流程有更深入的认识,我仔细阅读本书发现确实与其它软件工程书本来得不一样,至少它比较有趣味性,这也许是不同于其他教科书生板无味的区别吧!以下我就对此书的读后感作下自己的个人心得体会及提出个人的一些疑问. 在前言中强调了面向实战就要“做中学”的方法,确实很适合缺乏实战经验的我们,通过将自己的项目进展实时发布到博客,引来更多人的反馈和评价是我们不

C语言博客作业--函数嵌套调用

一.实验作业(6分) 本周作业要求: 选一题PTA题目介绍. 学习工程文件应用,设计实现学生成绩管理系统. 学生成绩管理系统要求 设计一个菜单驱动的学生成绩管理程序,管理n个学生m门考试科目成绩,实现以下功能: 命令1:能够新增学生信息,并计算总分和平均分. 能够新增学生成绩信息. (学生按照学号排序,新增学生应该按照学号插入已有数组,并保持有序,插入排序实现) 命令2:根据输入学号和课程号修改学生成绩信息. 命令3:根据输入学号和课程删除学生成绩信息. 命令4:输出显示所有学生成绩信息.(按照

C语言第三次博客作业---单层循环结构

一.PTA实验作业 题目1:最佳情侣身高差 1.实验代码 int N,i; double height; //height表示身高 char sex; //sex表示性别 (height>=1.0&&height<=3.0); (N>0&&N<=10); scanf("%d",&N); for(i=1;i<=N;i++){ scanf("\n%c%lf",&sex,&height)

C语言博客作业--函数

一.PTA实验作业 6-1 符号函数 1.本题PTA提交列表 2.设计思路 3..本题调试过程碰到问题及PTA提交列表情况说明. 前面的错误都是由于关系运算符中==写成=导致的 6-6 使用函数输出水仙花数 1.本题PTA提交列表 2.设计思路 1.narcissistich函数(判断number是否为水仙花数) 定义循环变量i,j,a储存每一位上的数,sum总和count位数 for(i=number;i>0;i=i/10)每执行一次count+1 for(k=1;k<=count;k++)

C语言第六次博客作业--数据类型

一.PTA实验作业 题目1: 7-3 倒顺数字串 1. 本题PTA提交列表 2.设计思路 (1) 定义两个整型变量i,n,n为输出的数. (2)输入n. (3)若n的值不为1, for i=1 to i<=n, 输出i和一个空格, end. for i=n-1 to i>1, 输出i和一个空格, end. 输出1. (4)若n==1,则直接输出1. 3.代码截图 4.本题调试过程碰到问题及PTA提交列表情况说明 (1)没有考虑只输入1的情况. 解决方法:加入if(n==1)的情况. 题目2:7

闽江学院2015-2016学年下学期《软件测试》课程-第五次博客作业

在老师的推荐下我花了两周的时间通读了<构建之法>,读完了这本<构建之法>之后不得不说,这着实令我获益良多. 之前我一直没有认真阅读过这本书,虽然主要原因是因为自己的惰性使然,但是同样不可否认的是,之前看的软件工程的教材大多数都是干巴巴的,看起来实在没有意思,经常看不到多久就看不下去了,可是这本书就不同,它通过几个简单的人物和场景就把一个原本让人感觉索然无味的教材转变成我们的日常生活,原本感觉虚无缥缈的理论,一下子就鲜活的展现在我面前. 通过第一章,我大概了解我将要从这本书中学习什么

第五次博客作业-读《构建之法》心得

读<构建之法>心得 首先,这是一本全景式图书,会让你更了解这个行业,能让毕业生在对行业从陌生到熟悉的过程中,较少地感到惊讶和出乎意料,这是一本与现实接轨的教材. 其次,这是一本最佳实践式的书,涵盖了科学.健康的软件工程开展中的每个方面,介绍了种种方法论,但不是高高在上.纲领性的方法论,而是方法论的最佳实践,确实可用,拿来就用. 第三,这本书让人有情怀,学生对“古老的”瀑布教材或“舶来的”敏捷书籍,难免会缺乏信心:这东西行吗?适用于现代吗?适用于中国吗?而如果到各大论坛.社区.或者询问“过来人”