寒假作业2024.2.11

请使用递归实现n!

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#include <unistd.h>
int  fun(int n) 
{
    if (n==0) 
	{
        return 1;
    } else 
	{
        return n*fun(n-1);
    }
}
int main(int argc, const char *argv[])
{
	int n;
	printf("please enter n:");
	scanf("%d",&n);
    int sum=fun(n);
    printf("%d的阶乘是: %d\n",n,sum);
	return 0;
}


请使用递归实现O-n的和

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#include <unistd.h>
int fun(int n)
{
    if(n==0)
        return 0;
    else
        return n+fun(n-1);
}
int main(int argc, const char *argv[])
{
	int n;
	printf("please enter n:");
	scanf("%d",&n);
    int sum=fun(n);
    printf("0-%d的和是: %d\n",n,sum);
	return 0;
}


请使用递归实现斐波那契

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#include <unistd.h>
int fun(int n)
{
	if(n==1||n==2)
	{
		return 1;
	}
	else
	{
		return fun(n-1)+fun(n-2);
	}
}

int main(int argc, const char *argv[])
{
	int n;
	printf("please enter n:");//n为打印的数列层数
	scanf("%d",&n);
	printf("斐波那契数列:");
	for(int i=1;i<=n;i++)
	{
		printf("%d ",fun(i));
	}
	puts("");
	return 0;
}


请使用递归实现二进制转换

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#include <unistd.h>
void Exchange(int n)
{
	if(n==0)
	{
		return ;	
	}
	else
	{
		Exchange(n/2);
		printf("%d",n%2);
	}	
} 

int main(int argc, const char *argv[])
{
	int n;
	printf("please enter n:");
	scanf("%d",&n);
	printf("十进制数%d转换为二进制数为:",n);
	Exchange(n);
	puts("");
	return 0;
}


请递归实现计算各个位数字之和

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#include <unistd.h>
int fun(int n)
{
	if(n==0)
		return 0;
	else
		return n%10+fun(n/10);
}
int main(int argc, const char *argv[])
{
	int n;
	printf("please enter n:");
	scanf("%d",&n);
	int sum=fun(n);
	printf("sum=%d\n",sum);
	return 0;
}


请递归实现计算各个位数字的乘积

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#include <unistd.h>
int fun(int n)
{
	if(n<10)
		return n;
	else
	{
		return n%10*fun(n/10);
	}
}
int main(int argc, const char *argv[])
{
	int n;
	printf("please enter n:");
	scanf("%d",&n);
	int sum=fun(n);
	printf("sum=%d\n",sum);
	return 0;
}


请使用递归实现计算单词逆置

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#include <unistd.h>
//整体逆置+单词逆置
void reverseAll(char str[], int start, int end) 
{  
	if(end-start<1)
	{
		return ;  
	}
	else
	{	
		char t=str[start];
		str[start]=str[end];
		str[end]=t;
		reverseAll(str,start+1,end-1); 
	}
}  

//逆置单词  
void reverseWords(char str[],int len) 
{  
	int start=0;  
	int end=0;  
	// 先逆置整个字符串  
	reverseAll(str,0,len-1);  
	// 再逆置每个单词  
	while (end<len) 
	{  
		// 找到原本单词的起始位置  
		while (end<len && str[end]==' ') 
		{  
			end++; // 跳过空格  
			start=end; // 更新单词的起始位置  
		}  
		// 找到原本单词的结束位置  
		while (end<len && str[end]!=' ') 
		{  
			end++; //移动到原本单词的末尾 
		}  
		// 逆置当前单词(不包括末尾的空格)  
		reverseAll(str,start,end-1);  
	}  
}  
int main(int argc, const char *argv[])
{
	char str[100]; 
	printf("Please enter str: ");  
	gets(str);	
	int len=strlen(str);         
	reverseWords(str,len);
	printf("%s\n", str);
	return 0;
}

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

嵌入式系统学习指南:从入门到精通

如今嵌入式系统已经广泛应用于工控、消费电子、汽车电子、医疗设备等多个领域。越来越多的IT工程师选择进入嵌入式系统行业。那么作为新手,如何系统地学习嵌入式知识,从入门到精通呢?本文将为大家提供一份简单的自学路线。&#xff08;个人观点&#xff0c;仅供参考&#xff0…

代码随想录 Leetcode55. 跳跃游戏

题目&#xff1a; 代码(首刷自解 2024年2月9日&#xff09;&#xff1a; class Solution { public:bool canJump(vector<int>& nums) {int noz 0;for (int i nums.size() - 2; i > 0; --i) {if (nums[i] 0) {noz;continue;} else {if (nums[i] > noz) noz …

vtkActor 设置特定图层 显示及置顶显示

问题&#xff0c;有时我们需要显示某个 Actor 在相机最前面&#xff0c;可以遮盖后面的物体;显示在顶层有点不准确&#xff1b;因为这个还相机位置也有关系&#xff1b; 这里讲三种情况&#xff1a; 1. 设置 Mapper 顶层&#xff0c;尝试了一下&#xff0c;可以用于某些场景&…

《PCI Express体系结构导读》随记 —— 第II篇 第4章 PCIe总线概述(12)

接前一篇文章&#xff1a;《PCI Express体系结构导读》随记 —— 第II篇 第4章 PCIe总线概述&#xff08;11&#xff09; 4.2 PCIe体系结构的组成部件 PCIe总线作为处理器系统的局部总线&#xff0c;其作用与PCI总线类似&#xff0c;主要目的是为了连接处理器系统中的外部设备…

前后端分离nodejs+vue流浪狗宠物领养公益网站

1.发现公益&#xff1a;主要是根据社会上的调研&#xff0c;来收集的社会上有关流浪狗的公益活动&#xff0c;发布在公益网站上能被更多人发现&#xff0c;主要让更多人能参与到公益活动中来&#xff0c;并调动群众的同情心和爱心&#xff0c;借此希望在养宠物的主人能避免自己…

直播app开发,技术驱动的实时互动新纪元

随着互联网技术的快速发展&#xff0c;直播已成为我们日常生活的重要组成部分。从娱乐、教育到商业活动&#xff0c;直播的广泛应用正在改变着我们的生活和工作方式。在这一变革中&#xff0c;直播开发扮演着至关重要的角色。本文将探讨直播开发的核心理念、技术挑战以及未来的…

【EAI 017】Interactive Language: Talking to Robots in Real Time

论文标题&#xff1a;Interactive Language: Talking to Robots in Real Time 论文作者&#xff1a;Corey Lynch, Ayzaan Wahid, Jonathan Tompson Tianli Ding, James Betker, Robert Baruch, Travis Armstrong, Pete Florence 作者单位&#xff1a;Robotics at Google 论文原…

林浩然与杨凌云的Java世界奇遇记:垃圾回收大冒险

林浩然与杨凌云的Java世界奇遇记&#xff1a;垃圾回收大冒险 The Java Adventure Chronicles of Lin Haoran and Yang Lingyun: Garbage Collection Odyssey 在一个充满0和1代码森林的世界里&#xff0c;住着两位勇敢的程序员侠侣——林浩然和杨凌云。林浩然是个身怀Java绝技的…

k8s -ingress

概念 Ingress 公开了从集群外部到集群内服务的 HTTP 和 HTTPS 路由&#xff0c;ingress能代理集群为内部的网络&#xff0c;将集群外部的HTTP/HTTPS网络请求转发至不同的service&#xff0c;其本质就是创建一个NodePort类型的svc,和一个nginx 组成 k8s中的ingress 其实是指…

【万题详解】洛谷P1282 多米诺骨牌

题目 链接——题目在这里&#xff01;&#xff01;&#xff01; 多米诺骨牌由上下 22 个方块组成&#xff0c;每个方块中有 1∼6 个点。现有排成行的上方块中点数之和记为 S1​&#xff0c;下方块中点数之和记为 S2​&#xff0c;它们的差为 ∣∣S1​−S2​。如图S161119&…

提升MySQL访问性能

1. 读写分离 设置多个从数据库&#xff0c;从数据库可能在多个机器中。写操作在主数据库进行主数据库提供数据的主要依据 缓解了MySQL的读压力。 主从复制原理图如下 如果对于读操作有一致性要求&#xff0c;那么读操作去主数据库即可。 2. 连接池 因为一个请求必须要…

SpringCloud-Nacos服务分级存储模型

Nacos 服务分级存储模型是 Nacos 存储服务注册信息和配置信息的核心模型之一。它通过将服务和配置信息按照不同级别进行存储&#xff0c;实现了信息的灵活管理和快速检索&#xff0c;为微服务架构下的服务发现和配置管理提供了高效、可靠的支持。本文将对 Nacos 服务分级存储模…

黄金交易策略(Nerve Nnife.mql4):三档移动止盈机制设计

和中国电费一样&#xff0c;一档档的上。 完整EA&#xff1a;Nerve Knife.ex4黄金交易策略_黄金趋势ea-CSDN博客 mql4代码节选如下&#xff1a; //第一张单上涨2500&#xff0c;开始SL跟踪300点if (count 1 && !follow_p_3){double ctp calcTotalProfit(0, "b…

vue-生命周期+工程化开发(三)

生命周期 Vue 生命周期 和 生命周期的四个阶段 思考&#xff1a; 什么时候可以发送初始化渲染请求&#xff1f;&#xff08;越早越好&#xff09;什么时候可以开始操作dom&#xff1f;&#xff08;至少dom得渲染出来&#xff09; Vue生命周期&#xff1a;一个Vue实例从 创建…

在VSCode中创建Java项目

在VSCode中创建Java项目 首先&#xff0c;保证安装了Java的JDK. WinR -> 输入cmd -> 输入 java -version -> 然后可以看到安装的JDK版本&#xff0c;如果没安装可以去找教程。 JDK安装参考教程 打开VSCode&#xff0c;打开扩展&#xff08;Ctrl Shift S&#xff…

车载自动化项目:Python

1. 自动化测试用的什么框架&#xff1f; 第一种&#xff1a;PythonSeleniumuittest框架 首先是拿到需求文档&#xff0c;基于这个需求去进行搭建。 用pytestrequestallure 这些第三方库进行编写自动化脚本。 举个例子一般的话整个的一个自动化的搭建是分为6层嘛&#xff1a…

火车可视化调车系统

列车在调车作业时&#xff0c;当机车头在尾部推动车厢时&#xff0c;司机室一人操控机车&#xff0c;车厢前端配备两名挂梯随车运行调车员&#xff0c;调车员人为分析行车方向是否有障碍、轨道行人等紧急情况&#xff0c;通过对讲机通知司机控制停车。由于司机无法直观观察列车…

java 执行方式和类加载过程

java默认属于混合执行&#xff1a; 编译和解释并存 java先进行解释执行&#xff0c;遇到多次重复的代码会把它编程成可执行文件&#xff0c;方便下次直接执行。 可以通过VM参数来修改执行方式。 类加载过程

centos7指定目录上传到google云盘

from datetime import datetime, timedelta from concurrent.futures import ThreadPoolExecutor import os,time,subprocess,tracebackdef run_cmd(command):"""运行命令并返回输出。"""shell Trueprint(command,command)result subprocess.r…

【软件测试大作业】京东系统的Selenium自动化测试报告

1访问地址 https://wwwjd.com 2 点击左侧导航 手机/运营商/数码 2点击左侧导航"影音娱乐"的子类"蓝牙/无线耳机 4商品筛选点击查询的第一个商品(选择默认类型款式颜色)一>6.设置商品数量,点击"加入去购物车结算" Selenium测试的数据驱动设置 请结…