Longjingrap

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

一、实验作业

题目:6-2 递归计算Ackermenn函数

1.设计思路

定义result为0
如果 m==0
     result=n+1;
如果 n==0且m大于0
     result=Ack(m-1, 1)
如果m>0且n>0;
     result=Ack(m-1, Ack(m,n-1));
返回 result;

2.代码截图

3.调试问题

  • 本题没遇到问题

1.2 学生成绩管理系统

1.2.1函数模块图及函数功能

1.2.2工程文件展示

1.2.3 函数代码部分截图

本系统代码总行数:343

头文件

界面

输入学生信息函数

查找学生信息函数

删除学生信息函数

总成绩排序函数

修改函数

1.2.4 调试结果展示








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

我这学生系统存在的问题有点多,老师要求的功能有一些我的还不能实现,删除学生信息也存在问题,还有那个联系方式我用字符数组进去运行后比如输入7指令,但就是运行不了对应函数的功能,但改成double型就又可以了。现在也还没有解决,等有空我再去改善一下这个工程。

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

三,阅读代码

有5个人坐在一起,问第5个人多少岁?他说比第4个人大2岁。问第4个人岁数,他说比第3个人大2岁。问第3个人,又说比第2人大两岁。问第2个人,说比第1个人大两岁。最后 问第1个人,他说是10岁。请问第5个人多大?

#include <stdio.h>  
int getAge(int numPeople);
int main() 
{
    int age = getAge(5);
    printf("第5个人的年龄是%d岁", age); 
    return 0;
}
int getAge(int numPeople){
    int age;
    if(numPeople == 1)
        age = 10;
    else
     age =getAge(numPeople -1) +2;
    return age;    
}

利用递归的方法,递归分为回推和递推两个阶段。要想知道第5个人岁数,需知道第4人的岁数,依次类推,推到第1人(10岁),再往回推。优点:虽然不是很难,但一看便懂,相当简洁。

四、本周学习总结

1.介绍本周学习内容

10.1.2函数的嵌套调用

可以以函数作为基本功能实现载体,以函数调用结构图为函数关联,可有效组织多个函数,实现复杂问题的结构化程序设计

10.2.3递归程序设计

  • 递归函数编写需要抓住两个关键点
    (1)递归出口:即递归的结束条件,到何时不再递归调用下去
    (2)递归式子:递归的表达式,如fact(n)=n*fact(n-1)
    比如编写递归函数reverse(int n)实现将整数n逆向输出
void reverse(int num){
	if(num<=9)
	printf("%d",num);  //递归出口
	else{
		printf("%d",num%10);
		reverse(num/10);//递归调用
	}
}

10.3.2宏基本定义

宏的用途
(1)符号常量,如PI,数组大小定义,已增加程序的灵活性
(2)简单的函数功能实现,如

#define MAX(a,b)   a>b?a:b

(3)为程序书写带来方便。当程序中需要多次书写一些相同内容时,可以简写成宏。

  • 宏定义中对变量加上括号,可提高替换后的运算优先级,有效避免宏替换带来的副作用,保证宏替代的正确性

10.3.4文件包含

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

常用标准头文件

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

2.学习体会

  • 现在C语言已经差不多快学完了,本周也又进行了一次上机考试,那两道填空题让我发现,自己这么久以来好像也没懂得什么,之前考试考差说是没有电脑不能调试,这次能调试也写不出来,自己存在的问题很大。有时候看书看懂了,但一到写程序就得重新翻书,指针内容有时候还是有点混乱,特别是双指针。不过我会认真对待每次错误的,坚持下去,努力下去。
posted on 2017-12-31 22:13  Longjingrap  阅读(600)  评论(1编辑  收藏  举报