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

news2024/9/24 7:15:02

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;
    else
        return 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);
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1248531.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

typora中的快捷键shift enter 和 enter的交换

1 问题&#xff1a; 我最近在用 typora 进行写作&#xff0c;但是在合格 typora 的 markdown 编辑器很奇怪&#xff0c;它的一个回车符是两次换行&#xff0c;而用 shfit ent 找了半天都不知道怎么解决的这个问题&#xff0c;然后我就去了这个 typora 在 github 开源的问题仓库…

[chroot+seccomp逃逸] THUCTF2019 之 固若金汤

题目分析 附件为一个源码, 其中注释我都写好了, 主要就讲关键的知识点. #define _GNU_SOURCE#include <stdio.h> #include <stdlib.h> #include <fcntl.h> #include <string.h> #include <errno.h> #include <sched.h> #include <uni…

Windows power shell for循环

有时候需要重复执行某个shell命令 for($i1;$i -lt 10;$i$i1){echo $i}如果是cmd for /l %i in (1,1,5) do echo %i

jQuery_04 jQuery选择器应用

jQuery中的选择器 1.基本选择器 1.1 id $("#id值") id名称 1.2 class $(".class值") class名称 1.3 标签选择器 $("标签名字") 标签名称 1.4 所有选择器 $("*") 所有标签 1.5 组合选择器 …

NLP中 大语言模型LLM中的思维链 Chain-of-Thought(CoT) GoT

文章目录 介绍思路CoT方法Few-shot CoTCoT Prompt设计CoT投票式CoT-自洽性&#xff08;Self-consistency&#xff09;使用复杂的CoT自动构建CoTCoT中示例顺序的影响Zero-shot CoT 零样本思维链 GoT,Graph of Thoughts总结 介绍 在过去几年的探索中&#xff0c;业界发现了一个现…

无线测温系统的应用领域

电力测温对于一个用电量很大的行业来说是必不可少的。但是在现在的无线测温技术发展之前&#xff0c;传统的温度监测方式&#xff08;目测法、试温蜡片法等&#xff09;有许多的弊端&#xff1a;测量周期长、施工复杂&#xff0c;效率低&#xff0c;不便于管理&#xff0c;发生…

手机APP-MCP走蓝牙无线遥控智能安全帽~执法记录仪~拍照录像,并可做基础的配置,例如修改服务器IP以及配置WiFi等

手机APP-MCP走蓝牙无线遥控智能安全帽~执法记录仪~拍照录像,并可做基础的配置,例如修改服务器IP以及配置WiFi等 手机APP-MCP走蓝牙无线遥控智能安全帽~执法记录仪~拍照录像,并可做基础的配置,例如修改服务器IP以及配置WiFi等&#xff0c; AIoT万物智联&#xff0c;智能安全帽…

Linux 家目录和根目录

摘要&#xff1a; 在 Linux 操作系统中&#xff0c;家目录和根目录是两个非常重要的概念。它们是 Linux 文件系统中的两个关键节点&#xff0c;为用户和系统进程提供存储、管理和访问文件和目录的接口。本文旨在深入探讨和理解这两个目录的结构、功能和使用方式&#xff0c;同时…

nginx的n种用法(nginx安装+正向代理+反向代理+透明代理+负载均衡+静态服务器)

nginx的安装 一、安装依赖 # 一键安装四个依赖 yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel二、安装nginx yum install nginx三、检查是否安装成功 nginx -v四、启动/停止nginx /etc/init.d/nginx start /etc/init.d/nginx stop五、编辑配置文件…

【操作系统】线程的状态

目录 1.前言 2.状态列表 3.代码演示 1.前言 在线程中&#xff0c;有很多的状态。这些状态代表了线程目前所处的位置和情况&#xff0c;我们也可以通过这些状态&#xff0c;在以后的工作中&#xff0c;精准的定位到程序出现的问题。 2.状态列表 在Thread类所创建的对象中&a…

java 反射和注解1-反射详解

反射和注解本就是一家人&#xff0c;注解离不开反射&#xff0c;这里先将反射的写法&#xff0c;本文涉到的注解暂时可以不不用理解 1&#xff0c;创建一个类 public class ReflexUser {public String name;private String namePrivate;protected String nameProtected;Strin…

《数据结构、算法与应用C++语言描述》-代码实现散列表(线性探查与链式散列)

散列表 完整可编译运行代码&#xff1a;Github:Data-Structures-Algorithms-and-Applications/_22hash/ 定义 字典的另一种表示方法是散列&#xff08;hashing&#xff09;。它用一个散列函数&#xff08;也称哈希函数&#xff09;把字典的数对映射到一个散列表&#xff08…

2024春招必备软件测试八股文

1、什么是兼容性测试&#xff1f;兼容性测试侧重哪些方面&#xff1f; 参考答案&#xff1a; 兼容测试主要是检查软件在不同的硬件平台、软件平台上是否可以正常的运行&#xff0c;即是通常说的软件的可移植性。 兼容的类型&#xff0c;如果细分的话&#xff0c;有平台的兼容…

【科普知识】什么是步进电机?

德国百格拉公司于1973年发明了五相混合式步进电机及其驱动器&#xff0c;1993年又推出了性能更加优越的三相混合式步进电机。我国在80年代以前&#xff0c;一直是反应式步进电机占统治地位&#xff0c;混合式步进电机是80年代后期才开始发展。 步进电机是一种用电脉冲信号进行…

【ArcGIS Pro微课1000例】0035:栅格影像拼接(dem高程数据)

本实验讲解在ArcGIS Pro中,栅格数据的两种拼接(镶嵌)方法,适用于遥感影像、DOM、DEM、DSM等常见栅格数据。 文章目录 一、加载实验数据二、栅格拼接工具1. 镶嵌2. 镶嵌至新栅格三、注意事项四、拓展阅读一、加载实验数据 加载配套实验数据中的0035.rar中的两个dem数据,如…

C语言之strstr函数的使用和模拟实现

C语言之strstr函数的模拟实现 文章目录 C语言之strstr函数的模拟实现1. strstr函数的介绍2. strstr函数的使用3. strstr的模拟实现3.1 实现思路3.2 实现代码 1. strstr函数的介绍 函数声明如下&#xff1a; char * strstr ( const char * str1, const char * str2 ); strs…

Python---函数定义时缺省参数(参数默认值)

缺省参数也叫默认参数&#xff0c;用于定义函数&#xff0c;为参数提供默认值&#xff0c;调用函数时可不传该默认参数的值&#xff08;注意&#xff1a;所有位置参数必须出现在默认参数前&#xff0c;包括函数定义和调用&#xff09;。 def user_info(name, age, gender男):pr…

【腾讯云云上实验室-向量数据库】Tencent Cloud VectorDB为非结构化数据查询插上飞翔的翅膀——以企业知识库为例

前言 以前我曾疑惑&#xff0c;对于非结构化的内容&#xff0c;如一张图片或一段视频&#xff0c;如何实现搜索呢&#xff1f;图片或视频作为二进制文件&#xff0c;我们如何将其转化为可搜索的数据并存储起来&#xff0c;然后在搜索时将其还原呢&#xff1f; 后来我发现&…

【链表之练习题】

文章目录 翻转链表找到链表的中间节点返回倒数第k个节点合并两个有序链表判断链表是否回文注意 翻转链表 //反转链表//实质上是把每一个节点头插法,原本第一个节点变成最后一个节点public ListNode reverseList(){//链表为空if (head null){return null;}//链表只有一个节点if…

【腾讯云云上实验室】向量数据库与数据挖掘分析的黄金组合指南

前言&#xff1a; 在当今信息化时代&#xff0c;掌握对数据进行挖掘和分析的能力变得愈发关键。根据需求精准处理数据不仅仅是一项技能&#xff0c;更是对未来决策和操作的至关重要的支持。除了熟练运用适当的算法模型对大数据进行挖掘和分析外&#xff0c;合理高效存储和处理大…