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

一、实验作业

1 PTA题目:6-5 递归实现顺序输出整数

1.1 设计思路

1.2 代码截图

1.3 调试问题

  • 提交了是部分正确,没有全对。有一个输出0的测试点点没有对,因为原先递归出口是if(n0)return 0;这样的话输入0 就没有输出,改成if(n0)printf("%d",n);这样就会在刚开始不是0的情况下,多输出一个0,后来看了一下课堂派上面的题目,就改对了。

2 学生成绩管理系统

2.1 画函数模块图,简要介绍函数功能。

2.2 截图展示你的工程文件

2.3 函数代码部分截图

  • 头文件

  • 主函数

-添加学生信息

  • 修改学生成绩信息

  • 查询某个学生信息


  • 删除学生信息

  • 显示全部学生信息

  • 对总分排序

  • 对平均分排序

本系统代码总行数:291

1.2.4 调试结果展示

添加信息展示


显示全部学生信息

删除学生信息

查询学生信息

退出

修改学生成绩信息

1.2.5 调试碰到问题及解决办法。

  • 做这个工程,我的第一个大问题就是传参,传参的时候真的是传得乱七八糟的,不知道怎么修改就乱改,改了很久很久,是后来参考了别人博客的头文件,才懂得的。
  • 在显示成绩的时候,输出都是0.00,一直都感觉是对的不知道为什么输出不对,我检查了定义都是浮点型的,输出都是保留两位小数的,结果在检查了n遍之后发现输入错了,这么基本的错误啊。。改成%f就对了

  • 还有就是改掉了%d之后,总分和平均值就出现错误,我就又看了一会程序,看一下下标 i 的变化,发现计算总分和平均分的时候出了问题,把 i++放在下面就正确了



  • 其他还有一些小问题,改一改也就对了。

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

三、阅读代码

  • 这个递归的代码,一次自身调用再调用了两次自身函数,虽然耗时费空间,但是可以很直观得看出了兔子繁衍的规律,易于读者理解题意,且代码简洁,是递归这一块内容值得学习的。

四、本周学习总结

1.介绍本周学习内容

  • 宏的用途
    (1)符号常量,如PI,数组大小定义,已增加程序的灵活性
    (2)简单的函数功能实现,如#define Max(a,b) a>b?a:b
    (3)当程序中需要多次书写一些相同内容时,相当于全部变量的用途,可将其简写成宏。
    宏定义中括号要十分注意!任何算式都要一级一级拆开来写,不能想当然加上括号!对变量加上括号,可提高替换后的运算优先级,有效避免宏替换带来的副作用,保证宏替代的正确性

  • 文件包含
    文件包含格式:#include<需包含的文件名>
    或#include"需包含的文件名"

常用标准头文件

ctype.h 字符处理
math.h 与数学处理函数有关的说明定义
stdio.h 输入输出函数中使用的有关说明和定义
string.h 字符串函数的有关说明和定义
stddef.h 定义某些常用内容
stdlib.h 杂项说明
time.h 支持系统时间函数

2.学习体会

  • 工程作业刚开始的时候我是写了一个框架(头文件,主函数和选项的),觉得其他的平常都有写,排序删除什么的都还会,就是传参有点儿麻烦仔细想想就好,但是认真开始写传参定义这一方面却修改了很久!各种各样的错误,最后还是参考了其他博客正确的传参才理解并且改正。我认为自己这方面还是要加紧练习一下,是真的挺薄弱的。
  • 链表比较不会,这个真的是一看题全脸懵的那种。。虽然上课听得懂,看也还行,一做题就原形毕露了,真的还是都不会啊。链表这块还是得自己多动手多动手多动手,然后,不要一直看着书写,书上有一个很大的例题,希望我自己能把它读透。

posted on 2017-12-31 22:48  黑白熊熊  阅读(251)  评论(1编辑  收藏  举报

导航