---恢复内容开始---
一、实验作业
学生成绩管理系统要求
1.1 PTA题目
6-5 递归实现顺序输出整数
设计思路
输入数字n 调用函数 printdigits(n) {定义变量res表示顺次输出的数字 IF n/10=0 res←n 递归出口 否则 调用函数printdigits(n-1) res←n%10 输出res
代码截图
调试问题
当判断条件为n=0时输入一位数时结果有错,改为n/10=0即可
二、截图本周题目集的PTA最后排名
三、阅读代码
登一定数的台阶有几种方法
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
static int step[128];
static int m = 1;
int count(unsigned int n);
void cout(int n,int t);
int main()
{
int a;
unsigned int n;
while(1){
printf("请输入需要登上的台阶数量:");
scanf("%d",&n);
a = count(n);
printf("登上%d个台阶共有%d种方法!分别如下:\n",n,a);
cout(n,0);
m=1;
}
system("pause");
return 0;
}
int count(unsigned int n)
{
if(n == 1)
return 1 ;
if(n == 2)
return 2 ;
else
return count(n - 1) + count(n - 2) ;
}
void cout(int n,int t)
{
int i,j;
if(n<0)
return ;
if(n == 0)
{
printf("第%d种方法:",m);
for(j=0;j<t;j++)
printf("%d ",step[j]);
m++;
printf("\n");
}
else
{
for(i=1;i<=2;i++)
{
step[t] = i;
cout(n-i,t+1);
}
}
}
该函数输出了一个数字的所有之和为该数字的子数字排序,在递归前设置静态全局变量就能够实现递归时变量不会重置的状况
四、本周学习总结
- 学习了递归函数和带参数的宏
- 可以设置指针数存放指针变量和设置函数指针,使指针指向函数
- 定义二级指针指向指针的指针
- 可以用malloc()函数可以设置动态内存避免空间浪费,用free()函数释放内存
学习体会
- 对于工程文件学习得还是有些懵,不是很理解。