考研C语言刷题基础篇之分支循环结构基础(二)

目录

第一题分数求和

 第二题:求10 个整数中最大值

第三题:在屏幕上输出9*9乘法口诀表

第四题:写一个代码:打印100~200之间的素数 

第五题:求斐波那契数的第N个数

斐波那契数的概念:前两个数相加等于第三个数

斐波那契数的公式:

第六题:汉诺塔游戏 

思路: 

1. 当n=1时,需要一步

2.当n=2时,需要三步 

3.当n=3时,需要七步

总结一下

公式结论

 第七题:青蛙跳台阶问题

 第八题数9的个数

第十题 猜数字游戏(复习版本)

第十一题 二分查找(复习版)


第一题分数求和

计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值,打印出结果

  1. 将这个试子分成两部分,第一部分为1/1+1/3+1/5+....+1/99;第二部分1/2+1/4+.....1/100
  2. 然后将这两个试子相减
  3. 注意这里分数是浮点型
  4. double型是长整型浮点型
//分数求和int main() {double sum = 0.0;double sub = 0.0;double acc = 0.0;for (int i = 1; i <= 100; i++) {if (i % 2 == 0) {sum += (1.0 / i);}else {sub += (1.0 / i);}}acc = sub - sum;printf("%lf", acc);

 第二题:求10 个整数中最大值

 

//求10 个整数中最大值int main()
{int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };/*scanf("%d ", arr);*/int i = 0;int j = 0;for(int i = 0;i<10;i++){if (arr[i] >arr[i + 1]){j = arr[i];}else{j = arr[i+1];}}printf("%d", j);return 0;
}

第三题:在屏幕上输出9*9乘法口诀表

 两层循环第一层循环用来控制乘号左边,第二层循环用来控制乘号右边和每一层的个数

//在屏幕上输出9*9乘法口诀表int main() 
{for(int i=1;i<=9;i++){for(int j=1;j<=i;j++){printf("%d*%d=%d ", j, i, j*i);}printf("\n");}return 0;
}

第四题:写一个代码:打印100~200之间的素数 

第五题:求斐波那契数的第N个数

斐波那契数的概念:前两个数相加等于第三个数

1    1   2   3   5   8    13   21   34   55  

斐波那契数的公式:

当N<=2时   Fib(N)= 1;

当N>3时, Fib(N)=Fib(N-2)+Fib(N-1);2

//求斐波那契数列的第N个数int Fib(int n) {if (n <= 2) {return 1;}else {return Fib(n - 1) + Fib(n - 2);}}int main() {int n = 0;scanf("%d", &n);int sum = Fib(n);printf("第%d个数为:%d\n", n,sum);return 0;}

第六题:汉诺塔游戏 

思路: 

1. 当n=1时,需要一步

2.当n=2时,需要三步 

3.当n=3时,需要七步

 这里我们发现为了实现第四步,是完成了n=2的所有步骤3步。若将黑红当一个整体。

 那么我们要实现最后一步是不是也是完成相同的操作即n=2时的操作。

总结一下

首先,是完成一次n=2时的操作 即(n-1)时操作的操作。

在加上一步将蓝色放入第三根柱子的操作

最后,是将黑红当一个整体,在完成一次n=2即(n-1)时的操作。

公式结论

汉诺塔公式为:

当n=1时    要1步

当n>1时    要 2*(n-1)+1步

//汉诺塔游戏
int Hanoi(int n) {if (n == 1) {return 1;}else {return 1 + 2 * Hanoi(n - 1);}}int main() {int n = 0;scanf("%d", &n);int sum = Hanoi(n);printf("需要%d步", sum);return 0;}

 第七题:青蛙跳台阶问题

 问题:青蛙一次可以跳一个台阶,也可以一次跳2个台阶。请问如果有n个台阶时,青蛙有几种方法

台阶数第一次跳一格第一次跳两格方法数
111
21 122
3111;12213
41111;121;11222;2115
511111;1211;1121;1112;1222111;221;212;8
nn-1n-2(n-1)+(n-2)
//青蛙跳台游戏
int fac(int n) {if (n == 1) {return 1;}else if(n==2) {return 2;}else{return fac(n-1)+fac(n-2);}}int main() {int n = 0;scanf("%d", &n);int sum = fac(n);printf("需要%d步", sum);return 0;}

 第八题数9的个数

数100以内的出现过9的数字

//数9的个数
int main() {int n = 1;while (n <= 100) {if (n % 10 == 9) {printf("%d ", n);}else if(n / 10 == 9) {printf("%d ", n);}n++;}return 0;
}

第十题 猜数字游戏(复习版本)

 易错点:

1. srand((unsigned int)time(NULL));随机数种子,不能放在while循环里,要不然每次输入数字,都会生成随机的种子,会导致永远猜不对数字。

2.scanf("%d", &n);要放在循环里,要不然每次上一次猜对的数会一直在循环里循环。

//猜数字游戏
void menu() {printf("*******************\n");printf("*******0 结束******\n");printf("*******1 开始******\n");printf("*******************\n");printf("输入0/1\n");
}int fac(int n) {srand((unsigned int)time(NULL));int nnn = rand()%100+1;return nnn;}int main() {menu();int n = 0;int nn = 0;scanf("%d", &nn);srand((unsigned int)time(NULL));if (nn == 1) {int sum = fac(n);while (1) {printf("输入你猜的数字:");scanf("%d", &n);if (n < sum) {printf("猜小了\n");}else if (n > sum) {printf("猜大了\n");}else {printf("猜对了");break;}}}else {printf("结束游戏");}return 0;}

第十一题 二分查找(复习版)

编写代码在一个整形有序数组中查找具体的某个数

要求:找到了就打印数字所在的下标,找不到则输出:找不到。

#define _CRT_SECURE_NO_WARNINGS
#include<stdlib.h>
#include<stdio.h>
#include<string.h>//二分查找
int main()
{int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };int sum = sizeof(arr) / sizeof(arr[0]);printf("数组有%d个\n", sum);int left = 0;int right = sum - 1;int n = 0;printf("请输入你要查找的数:");scanf("%d", &n);while (n){int mid = (left + (right - left)) / 2;if (n < arr[mid]){right = mid - 1;}else if (n > arr[mid]){left = mid + 1;}else{printf("找到了下标为:%d", arr[n]);break;}}return 0;
}

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

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

相关文章

2023 工业 AR 关键词:纵深和开拓

2023 年&#xff0c;以虚实融合、工业元宇宙为代表的“新数字化”升级在工业制造领域达成共识。 ▲五部委联合印发元宇宙行动计划 通过发展元宇宙赋能新型工业化 而相对过去几年的行业渗透广、落地场景多样的 AR 业务拓展与合作&#xff0c;#纵深和#开拓&#xff0c;成为 2023…

80端口被占用解决思路

普及一个概念&#xff1a;80端口是 HTTP&#xff08;HyperText Transport Protocol)即超文本传输协议开放的&#xff0c;此为上网冲浪使用次数最多的协议&#xff0c;主要用于WWW&#xff08;World Wide Web&#xff09;即万维网传输信息的协议。 我们使用 http 域名访问时都会…

Vue3 ref与reactive

✨ 专栏介绍 在当今Web开发领域中&#xff0c;构建交互性强、可复用且易于维护的用户界面是至关重要的。而Vue.js作为一款现代化且流行的JavaScript框架&#xff0c;正是为了满足这些需求而诞生。它采用了MVVM架构模式&#xff0c;并通过数据驱动和组件化的方式&#xff0c;使…

HarmonyOS鸿蒙学习基础篇 - 基本语法概述

书接上文 HarmonyOS鸿蒙学习基础篇 - 运行第一个程序 Hello World 基本语法概述 打开 entry>src>main>ets>pages>index.ets 代码如下代码详细解释如下&#xff1a; Entry //Entry装饰的自定义组件将作为UI页面的入口。在单个UI页面中&#xff0c;最多可以使用…

Dify学习笔记-应用发布(四)

1、发布为公开 Web 站点 使用 Dify 创建 AI 应用的一个好处在于&#xff0c;你可以在几分钟内就发布一个可供用户使用的 Web 应用&#xff0c;该应用将根据你的 Prompt 编排工作。 如果你使用的是自部署的开源版&#xff0c;该应用将运行在你的服务器上 如果你使用的是云服务&…

2024年跨境电商上半年有哪些营销节日?

2024年伊始&#xff0c;跨境电商开启新一轮的营销竞技&#xff0c;那么首先需要客户需求&#xff0c;节假日与用户需求息息相关&#xff0c;那么接下来小编为大家整理2024上半年海外都有哪些节日和假期&#xff1f;跨境卖家如何见针对营销日历选品&#xff0c;助力卖家把握2024…

Java框架篇面试题

&#x1f4d5;作者简介&#xff1a; 过去日记&#xff0c;致力于Java、GoLang,Rust等多种编程语言&#xff0c;热爱技术&#xff0c;喜欢游戏的博主。 &#x1f4d7;本文收录于java面试题系列&#xff0c;大家有兴趣的可以看一看 &#x1f4d8;相关专栏Rust初阶教程、go语言基…

flutter底层架构初探

本文出处&#xff1a;​​​​​​​​​​​​​Flutter 中文开发者网站 架构 embedder嵌入层 提供程序入口&#xff08;其他原生应用也采用此方式&#xff09;&#xff0c;程序由此和底层操作系统协调&#xff08;surface渲染、辅助功能和输入服务&#xff0c;管理事件循环…

书生·浦语大模型--第四节课笔记--XTuner大模型单卡低成本微调

文章目录 Finetune简介指令跟随微调增量预训练微调LoRA QLoRA XTuner介绍快速上手 8GB显卡玩转LLM动手实战环节 Finetune简介 增量预训练和指令跟随 通过指令微调获得instructed LLM 指令跟随微调 一问一答的方式进行 对话模板 计算损失 增量预训练微调 不需要问题只…

微签电子印章系统赋能国泰基金办公自动化升级

近期&#xff0c;国泰基金引入微签电子印章系统&#xff0c;通过印章服务器自动化印章方案&#xff0c;成功搭建起电子印章自动化平台&#xff0c;主要解决了其账单数量过多、极度耗费人力的难题&#xff0c;缩短了印章发送流程和时间&#xff0c;提升了国泰基金的整体办公效率…

Prometheus 架构全面解析

在本指南中&#xff0c;我们将详细介绍 Prometheus 架构。 Prometheus 是一个用 Golang 编写的开源监控和告警系统&#xff0c;能够收集和处理来自各种目标的指标。您还可以查询、查看、分析指标&#xff0c;并根据阈值收到警报。 此外&#xff0c;在当今世界&#xff0c;可观…

通过代理服务器的方式解决跨域问题

学习源码可以看我的个人前端学习笔记 (github.com):qdxzw/frontlearningNotes 觉得有帮助的同学&#xff0c;可以点心心支持一下哈 这里以本地访问https://heimahr.itheima.net/api/sys/permission接口为列子 Node.js 代理服务器 (server.js) 本次考虑使用JSONP或CORS代理来…

助力医疗数字化转型,贝锐x医百科技案例解析

在医疗数字化这个历史进程的大浪潮中&#xff0c;医药企业扮演着重要的角色&#xff0c;其重要程度恐怕仅次于医疗机构本身。同时&#xff0c;数字化转型对于医药企业的赋能作用也是十分明显的&#xff0c;尤其在营销端&#xff0c;一系列的数字化管理、数字化推广方案已经成为…

安装IIS及搭建asp.net程序遇到的问题

一、安装IIS 在服务器管理中选择IIS&#xff0c;右键选择添加角色和功能 在服务器角色中&#xff0c;应用程序开发中要选择ASP.NET3.5、ASP.NET4.6功能。 单击下一步执行安装即可。 二、常见问题 问题1. HTTP 错误404.17 - Not Found 解决方法&#xff1a; 出现以上问题没有…

SpringBoot使用Swagger2生成接口文档

一、导入依赖 <!-- knife4j--><dependency><groupId>com.github.xiaoymin</groupId><artifactId>knife4j-spring-boot-starter</artifactId><version>2.0.7</version></dependency> 二、配置类 通过一下配置&am…

USRP相关报错解决办法

文章目录 前言一、本地环境二、相关报错信息二、解决办法1、更换电脑操作系统2、升级最新版固件 前言 在进行 USRP 开发时遇到了一些报错&#xff0c;这里做个记录解决问题的方法。 一、本地环境 电脑操作系统&#xff1a;Windows11MATLAB 版本&#xff1a;MATLAB 2021aUSRP …

rabbitmq基础-java-2、work模型

1、简介 工作队列模式&#xff08;Work Queue Mode&#xff09;&#xff1a;在这个模型中&#xff0c;生产者同样将消息发送到队列&#xff0c;但多个消费者可以从队列中获取消息并发处理。这意味着不同的消费者可以独立地处理各自的任务&#xff0c;从而提高效率。 2、消息发送…

基于springboot+vue的小徐影城管理系统(前后端分离)

博主主页&#xff1a;猫头鹰源码 博主简介&#xff1a;Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战 主要内容&#xff1a;毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询 文末联系获取 项目介绍…

C语言进阶——数据结构之链表

前言 hello&#xff0c;大家好呀&#xff0c;我是Humble 在之前的两篇博客&#xff0c;我们学完了数据结构中的顺序表&#xff0c;还对它进行了一个应用&#xff0c;做了一个通讯录的小项目 那今天我们再来学习一个新的数据结构——链表 引入 我们来回忆一下顺序表 对于顺…

小程序技术实践:快速开发适配鸿蒙的App

今年&#xff0c;在中国&#xff0c;被各大媒体和开发者称为“鸿蒙元年”。 在2023年底就有业内人士透露&#xff0c;华为明年将推出不兼容安卓的鸿蒙版本&#xff0c;未来IOS、鸿蒙、安卓将成为三个各自独立的系统。 果不其然&#xff0c;执行力超强的华为&#xff0c;与202…