【C/PTA —— 11.函数2(课外实践)】

2023-11-25 09:45
文章标签 函数 实践 pta 课外

本文主要是介绍【C/PTA —— 11.函数2(课外实践)】,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

C/PTA —— 11.函数2(课外实践)

  • 一.函数题
    • 6-1 计算A[n]=1/(1 + A[n-1])
    • 6-2 递归实现顺序输出整数
    • 6-3 自然数的位数(递归版)
    • 6-4 分治法求解金块问题
    • 6-5 汉诺塔
    • 6-6 重复显示字符(递归版)
    • 6-7 显示平行四边形(右)(递归版)
  • 二.编程题
    • 7-2 N阶楼梯上楼问题

一.函数题

6-1 计算A[n]=1/(1 + A[n-1])

在这里插入图片描述

float fun(int n)
{if (n == 1)return 1;return 1 / (1 + fun(n - 1));
}

6-2 递归实现顺序输出整数

在这里插入图片描述

void printdigits(int n)
{int count = 0;int num1 = 0;num1 = n;if (n == 0){printf("0");return 0;}while (n){n /= 10;count++;}int num[100] = { 0 };n = num1;int count1 = 0;while (n){num[count1++] = n % 10;n /= 10;}for (int i = count1 - 1; i >= 0; i--){printf("%d\n", num[i]);}
}

6-3 自然数的位数(递归版)

在这里插入图片描述

int NumDigit(int number)
{if (number == 0)return 0;else if (number / 10 == 0)return 1;elsereturn NumDigit(number / 10) + 1;
}

6-4 分治法求解金块问题

在这里插入图片描述

int max(int a[], int m, int n) {int i;int max = a[0];for (i = m; i < n + 1; i++) {if (a[i] > max) {max = a[i];}}return max;
}int min(int a[], int m, int n) {int i;int min = a[0];for (i = m; i < n + 1; i++) {if (a[i] < min) {min = a[i];}}return min;
}

6-5 汉诺塔

在这里插入图片描述

void hanoi(int n, char from, char to, char by)
{void move(char x, char y);if (n == 1)move(from, to);else{hanoi(n - 1, from, by, to);move(from, to);hanoi(n - 1, by, to, from);}
}void move(char x, char y)
{printf("%c->%c\n",x,y);
}

6-6 重复显示字符(递归版)

在这里插入图片描述

void Show(int number, char symbol)
{void Print(char ch);if (number <= 0)return;if (number == 1)Print(symbol);else{Show(number - 1, symbol);Print(symbol);}
}void Print(char ch)
{printf("%c", ch);
}

6-7 显示平行四边形(右)(递归版)

在这里插入图片描述

void RtPara(int width, int height, char symbol)
{void PrintSpace(int number);if (width <= 0 || height <= 0)return;else{PrintSpace(height - 1);Show(width, symbol);putchar('\n');RtPara(width, height - 1, symbol);}
}void PrintSpace(int number)
{if (number <= 0)return;else{printf(" ");PrintSpace(number - 1);}
}

二.编程题

7-2 N阶楼梯上楼问题

在这里插入图片描述

int ClimbStairs(int number)
{if (number == 1)return 1;else if (number == 2)return 2;else{int dp[number+1];dp[1] = 1;dp[2] = 2;int i = 0;for (i = 3; i <= number; i++){dp[i] = dp[i - 1] + dp[i - 2];}return dp[number];}
}int main()
{int n = 0;int ways = 0;scanf("%d", &n);ways = ClimbStairs(n);printf("%d\n", ways);
}

这篇关于【C/PTA —— 11.函数2(课外实践)】的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/423555

相关文章

Java调用DeepSeek API的最佳实践及详细代码示例

《Java调用DeepSeekAPI的最佳实践及详细代码示例》:本文主要介绍如何使用Java调用DeepSeekAPI,包括获取API密钥、添加HTTP客户端依赖、创建HTTP请求、处理响应、... 目录1. 获取API密钥2. 添加HTTP客户端依赖3. 创建HTTP请求4. 处理响应5. 错误处理6.

golang内存对齐的项目实践

《golang内存对齐的项目实践》本文主要介绍了golang内存对齐的项目实践,内存对齐不仅有助于提高内存访问效率,还确保了与硬件接口的兼容性,是Go语言编程中不可忽视的重要优化手段,下面就来介绍一下... 目录一、结构体中的字段顺序与内存对齐二、内存对齐的原理与规则三、调整结构体字段顺序优化内存对齐四、内

Python itertools中accumulate函数用法及使用运用详细讲解

《Pythonitertools中accumulate函数用法及使用运用详细讲解》:本文主要介绍Python的itertools库中的accumulate函数,该函数可以计算累积和或通过指定函数... 目录1.1前言:1.2定义:1.3衍生用法:1.3Leetcode的实际运用:总结 1.1前言:本文将详

轻松上手MYSQL之JSON函数实现高效数据查询与操作

《轻松上手MYSQL之JSON函数实现高效数据查询与操作》:本文主要介绍轻松上手MYSQL之JSON函数实现高效数据查询与操作的相关资料,MySQL提供了多个JSON函数,用于处理和查询JSON数... 目录一、jsON_EXTRACT 提取指定数据二、JSON_UNQUOTE 取消双引号三、JSON_KE

MySQL数据库函数之JSON_EXTRACT示例代码

《MySQL数据库函数之JSON_EXTRACT示例代码》:本文主要介绍MySQL数据库函数之JSON_EXTRACT的相关资料,JSON_EXTRACT()函数用于从JSON文档中提取值,支持对... 目录前言基本语法路径表达式示例示例 1: 提取简单值示例 2: 提取嵌套值示例 3: 提取数组中的值注意

C++实现封装的顺序表的操作与实践

《C++实现封装的顺序表的操作与实践》在程序设计中,顺序表是一种常见的线性数据结构,通常用于存储具有固定顺序的元素,与链表不同,顺序表中的元素是连续存储的,因此访问速度较快,但插入和删除操作的效率可能... 目录一、顺序表的基本概念二、顺序表类的设计1. 顺序表类的成员变量2. 构造函数和析构函数三、顺序表

python实现简易SSL的项目实践

《python实现简易SSL的项目实践》本文主要介绍了python实现简易SSL的项目实践,包括CA.py、server.py和client.py三个模块,文中通过示例代码介绍的非常详细,对大家的学习... 目录运行环境运行前准备程序实现与流程说明运行截图代码CA.pyclient.pyserver.py参

使用C++实现单链表的操作与实践

《使用C++实现单链表的操作与实践》在程序设计中,链表是一种常见的数据结构,特别是在动态数据管理、频繁插入和删除元素的场景中,链表相比于数组,具有更高的灵活性和高效性,尤其是在需要频繁修改数据结构的应... 目录一、单链表的基本概念二、单链表类的设计1. 节点的定义2. 链表的类定义三、单链表的操作实现四、

Java function函数式接口的使用方法与实例

《Javafunction函数式接口的使用方法与实例》:本文主要介绍Javafunction函数式接口的使用方法与实例,函数式接口如一支未完成的诗篇,用Lambda表达式作韵脚,将代码的机械美感... 目录引言-当代码遇见诗性一、函数式接口的生物学解构1.1 函数式接口的基因密码1.2 六大核心接口的形态学

Spring Boot统一异常拦截实践指南(最新推荐)

《SpringBoot统一异常拦截实践指南(最新推荐)》本文介绍了SpringBoot中统一异常处理的重要性及实现方案,包括使用`@ControllerAdvice`和`@ExceptionHand... 目录Spring Boot统一异常拦截实践指南一、为什么需要统一异常处理二、核心实现方案1. 基础组件