当前位置: 首页 > news >正文

鹏哥C语言74---第12次作业:OJ题练习

#define _CRT_SECURE_NO_WARNINGS

#include <stdio.h>
#include <string.h>

//---------------------------------------------------------------------------- 编程题 1:小乐乐走台阶
小乐乐上课需要走n阶台阶,因为她腿比较长,所以每次可以选择走1阶或者2阶,那么一共有多少种走法
输入 整数 1<=n<=30
输出 整数 走法数

// fib(10)=fib(9)+fib(8)
// =fib(8)+fib(7)  +  fib(7)+fib(6)
// =fib(7)+fib(6)  +  fib(6)+fib(5)  +    fib(6)+fib(5)  +  fib(5)+fib(4)

int fib(int n)
{if (n <= 2)return n;elsereturn fib(n - 1) + fib(n - 2);
}int main()
{int n = 0;scanf("%d", &n);//计算(递归)int ret = fib(n); //调用函数//输出printf("%d\n", ret);return 0;
}

//-------------------------------------------------------------------------------- 编程题 2:序列中删除指定数字
有一个整数序列(可能有重复的整数), 现删除指定的某一个整数, 输出删除指定数字之后的序列, 序列中未被删除数字的前后位置没有发生改变。
数据范围 : 序列长度和序列中的值都满足1≤n≤50
输入描述 : 第一行输入一个整数(0≤N≤50)。
                第二行输入N个整数, 输入用空格分隔的N个整数。
                第三行输入想要进行删除的一个整数。
输出描述 :输出为一行, 删除指定数字之后的序列。
例如
输入:6
          1 2 3 4 5 9
          4
输出:1 2 3 5 9

int main()
{int n = 0;scanf("%d", &n);//接收n 个数字int arr[50] = { 0 }; //不超过50个int i = 0;for (i = 0; i < n; i++){scanf("%d", &arr[i]);}//要删除的值int dele = 0;scanf("%d", &dele);//删除int j = 0;for (i = 0; i < n; i++){if (arr[i] != dele){arr[j] = arr[i];j++;//arr[j++] = arr[i]; // j++ j先使用,后++,与上述两行代码意思一样}}//输出删除指定数字之后的序列for (i = 0; i < j; i++){printf("%d ", arr[i]);}return 0;
}

//--------------------------------------------------------------------- 编程题 3:最高分与最低分之差
输入n个成绩,换行输出最高分和最低分之差
输入两行 第一行 n 表示n个成绩,不大于10000
               第二行 n 个成绩 整数表示(0~100),以空格隔开
输出 一行,最高分与最低分之差//---------------------------------------------方法1

int main()
{int n = 0;scanf("%d", &n);//接收n 个数字int arr[10000] = { 0 }; //不超过50个int i = 0;for (i = 0; i < n; i++){scanf("%d", &arr[i]);}//找出最大值int max = arr[0];for (i = 1; i < n; i++){if (arr[i] > max){max = arr[i];}}//找出最小值int min = arr[0];for (i = 1; i < n; i++){if (arr[i] < min){min = arr[i];}}//输出printf("%d\n", max - min);return 0;
}

//---------------------------------------------方法2:优化

int main()
{int n = 0;scanf("%d", &n);int arr[10000] = { 0 }; int i = 0;for (i = 0; i < n; i++){scanf("%d", &arr[i]);}int max = arr[0];int min = arr[0];for (i = 1; i < n; i++){if (arr[i] > max)max = arr[i];if (arr[i] < min)min = arr[i];}printf("%d\n", max - min);return 0;
}

//---------------------------------------------方法3:优化plus

int main()
{int n = 0;scanf("%d", &n);int arr[10000] = { 0 };int i = 0;int max = 0;int min = 100;for (i = 0; i < n; i++){scanf("%d", &arr[i]);if (arr[i] > max)max = arr[i];if (arr[i] < min)min = arr[i];}printf("%d\n", max - min);return 0;
}




 

http://www.lryc.cn/news/459340.html

相关文章:

  • Light灯光组件+组件的相关操作+游戏资源的加载
  • 离岗睡岗预警系统 值班室离岗识别系统Python 结合 OpenCV 库
  • 在Centos中安装、配置与使用atop监控工具
  • 前端框架对比与选择:详尽分析
  • FLINK SQL时区问题
  • LibreOffice SDK是LibreOffice软件的开发工具包
  • 第十五届蓝桥杯C/C++学B组(解)
  • 在docker的容器内如何查看Ubuntu系统版本
  • Google Play服务端获取订单和核销订单
  • Spring Security 与 OAuth 2.0 登录实现指南
  • 02 django管理系统 - base.html模板的搭建
  • ES6语法有哪些
  • 每天一个数据分析题(五百零四)- 抽取样本
  • SAP动态安全库存(Dynamic Safety stock)配置及计算逻辑说明测试
  • 什么是TDZ?在JavaScript当中怎么避免?
  • 电阻分压电路:【图文讲解】
  • 【AI论文精读14】RAG论文综述2(微软亚研院 2409)P6(完)-隐含推理查询L4
  • FFmpeg的简单使用【Windows】--- 视频倒叙播放
  • 5分钟了解docker的Swarm机制
  • python实现ppt转pdf
  • VS2017 编译 SQLite3 动态库
  • Linux运维_Apache更改默认网站目录
  • QT QString学习笔记
  • 4.stm32 GPIO输入
  • GPT系列
  • Chromium 前端window对象c++实现定义
  • 【力扣算法题】每天一道,健康生活
  • Android Camera系列(四):TextureView+OpenGL ES+Camera
  • 03 django管理系统 - 部门管理 - 部门列表
  • L1 Sklearn 衍生概念辨析 - 回归/分类/聚类/降维