运维高级-day01

shell回顾

1、快速生成版权控制信息,具体的内容自己替换

[root@ scripts]# cat ~/.vimrc
autocmd BufNewFile *.py,*.cc,*.sh,*.java exec ":call SetTitle()"
func SetTitle()
if expand("%:e") == 'sh'
call setline(1,"#!/bin/bash")
call setline(2,
"##############################################################")
call setline(3, "# File Name: ".expand("%"))
call setline(4, "# Version: V1.0")
call setline(5, "# Author: kongd")
call setline(6, "# Email: kongd@163.com")
call setline(7, "# Organization: http://www.cnblogs.com/kongd/")
call setline(8, "# Created Time : ".strftime("%F %T"))
call setline(9, "# Description:")
call setline(10,
"##############################################################")
call setline(11, "")
endif
endfunc

2、题型复习

案例一:输入网卡的名字,来输出网卡的IP

  1. 问题:参数后判断要加“”名字为空时显示ip

  2. 分析:把本机的所有网卡名列出来,来引导用户输入。使用命令列出所有网卡信息:ifconfig/ip a

    设计一个函数,把网卡名作为参数,函数返回网卡的IP

    在获取某个网卡IP时,考虑网卡有多个IP地址(或为空IP的网卡)

  3. 流程图:

  1. 实现:

  1. 实现解析:

    1. ) grep awk,反复运行和推敲命令,来分析执行结果

    2. ) 死循环。当输入错误或者为空,继续输入–>输入正确。

    3. ) while循环continue、break(逻辑性) 逻辑判断参数

    4. ) get_ip函数调用

  2. 结果验证

案例二:提示用户输入年份后判断该年是否为闰年

  1. 问题:判断闰年

  2. 分析

    1. 提示用户输入年份

    2. 判断用户输入年份

    3. 考虑用户输入年份是否为空(或是否为数字)

    4. 输入为数字时,进行计算

    5. 被四整除 但不能被 一百整除的是闰年,或者能被四百整除的是闰年

  3. 流程图:

  1. 实现:

  1. 实现解析:

    1. 用户输入为非数字时,提示输入不准确,退出

    2. 用户输入是数字时,判断是否是闰年

  2. 结果验证

案例三:求水仙花数

"水仙花数"是指一个三位数, 其各位数字立方和等于该数 本身。例如:153是一个"水仙花数", 因为153=1的三次方+5的三次方+3的三次方。

案例四:鸡兔同笼

一只笼子里有好多鸡和兔子,看头数有35只头,看腿有94只腿,问各有鸡和兔多少只?

案例五:一元钱

把一元钱换成一分,二分,五分硬币(每种至少用一枚),问有多少种换法?并且把每种换法输出

分析:

1、一分钱范围:x: 最小1,最大为100-2-5=93

2、二分钱范围:y: 最小1,最大(100-1-5)/2=47

3、五分钱范围z: 最新1,最大(100-1-2)/5=19

三层循环解决问题:

案例六:素数判断

判断 101-200 之间有多少个素数,并输出在此范围内的所有素数。

分析:素数(质数):只能被1和其本身整除的整数

判断素数的方法:用一个数分别去除以 2 到这个数的平方根(sqrt)。如果能被整除,则表明此数不是素数,反之是素数。

思路:本题目有两个所求的目标,一为 101-200 之内的素数个数,二为输出所有素数。

案例七:大小排序

题目输入三个整数 x、y、z,请把这三个数由小到大输出。

程序分析从三个数中分别比较某两个数,将大的数换到后面。

c语言函数交换数据

案例八:猴子吃桃

题目猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少个桃子?

程序分析采取逆向思维的方法,从后往前推断,列出通项公式。

思路通过题干我们可以得到基本信息是若有 n 个桃子,第一天则吃了 n/2 + 1 个桃子,即剩下 n/2 - 1 个桃子。若假设某一天剩下的桃子数为 x,前一天剩下的桃子数为 y,根据上面的关系我们可以得到:( x + 1 ) ∗ 2 = y

简单计算一下,我们已知最后一天剩 1 个,根据推算的公式可以得到倒数第二天剩下 4 个,同理根据递归算法即可求出第一天剩下多少个。在这里需要注意的是,猴子是到第十天想吃(还没吃)的时候发现只剩一个了,所以循环的次数要注意是 9 次。循环递归计算之后输出结果即可。若想查看每天的结果也可输出查看

c语言递归实现

案例九:打印菱形

题目打印出如下图案(菱形)

程序分析先把图形分成两部分来看待,前四行一个规律,后三行一个规律,利用双重 for循环,第一层控制行,第二层控制列。我们要决定每一层循环的次数:外层不必多说是 4 次(i = 4)内层空格部分,空格数是随着行数的增加而减少的,规律为行数 + 1,空格数 - 1,所以循环次数是从 0到 (4 - i)次。内层星号部分,星号数是随着行数的增加而增加的,规律为行数 + 1,星号数 + 2,所以循环次数是从 0到 (i * 2)次。下三行同理,注意循环的次数和初始值即可。


案例十:冒泡排序

题目任意输入 10 个数,并对这 10 个数进行从小到大的排序。

程序分析对于这种数字排序问题,我们一般用冒泡排序的方法来进行排序。

思路首先我们应该知道什么是冒泡排序,冒泡排序是依次比较两个相邻的元素,如果顺序(如从大到小、首字母从Z到A)错误就把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素列已经排序完成。这里我们需要分别以每个数为基准和其他的数依次进行比较,所以要用双重 for 循环,外层控制被比较的数,内层循环控制轮换比较数。由于要从小到大排序,判断条件是第一层的数若大于第二层的数,则将两个数交换。

 

 

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

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

相关文章

python:傅里叶分析,傅里叶变换 FFT

使用python进行傅里叶分析,傅里叶变换 FFT 的一些关键概念的引入: 1.1.离散傅里叶变换(DFT) 离散傅里叶变换(discrete Fourier transform) 傅里叶分析方法是信号分析的最基本方法,傅里叶变换是傅里叶分析的核心&…

上手 Promethus - 开源监控、报警工具包

名词解释 Promethus 是什么 开源的【系统监控和警报】工具包 专注于: 1)可靠的实时监控 2)收集时间序列数据 3)提供强大的查询语言(PromQL),用于分析这些数据 功能: 1&#xff0…

Java Web——XML

1. XML概述 XML是EXtensible Markup Language的缩写,翻译过来就是可扩展标记语言。XML是一种用于存储和传输数据的语言,它使用标签来标记数据,以便于计算机处理和我们人来阅读。 “可扩展”三个字表明XML可以根据需要进行扩展和定制。这意味…

ubuntu+Teslav100 环境配置

系统基本信息 nvidia-smi’ nvidia-smi 470.182.03 driver version:470.182.03 cuda version: 11.4 产看系统体系结构 uname -aUTC 2023 x86_64 x86_64 x86_64 GNU/Linux 下载miniconda https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/?CM&OA https://mi…

MyBatisPlus入门介绍

目录 一、MyBatisPlus介绍 润物无声 效率至上 丰富功能 二、Spring集成MyBatisPlus 三、SpringBoot集成MyBatisPlus 一、MyBatisPlus介绍 MyBatis-Plus(简称 MP)是一个MyBatis的增强工具,在MyBatis的基础上只做增强不做改变&#xff0c…

Kafka系列 - Kafka一篇入门

Kafka是一个分布式流式处理平台。很多分布式处理系统,例如Spark,Flink等都支持与Kafka集成。 Kafka使用场景 消息系统:Kafka实现了消息顺序性保证和回溯消费。存储系统:Kafka把消息持久化到磁盘,相比于其他基于内存的…

如何处理git多分支

本篇文章主要处理以下两种多分支问题 如何将自己在本地的修改上传到一个新的Git分支(比如用于测试,不合并进main分支)?如何在一个新的本地仓库拉取一个项目的非main分支,并处理他们关联关系? 1. 将自己在…

java基于springboot公益帮学网站 新闻发布系统的设计与实现vue

以Java为开发平台,综合利用Java Web开发技术、数据库技术等,开发出公益帮学网站。用户使用版块:可以选择注册并登录,可以浏览信息、可以网上互动、发布文章、内容推荐等。后台管理员管理版块:以管理员身份登录网站后台…

C# 读写FDX-B(ISO11784/85)动物标签源码

本示例使用的发卡器:EM4305 EM4469 ISO11784/85协议125K低频FXD-B动物标签读写发卡器-淘宝网 (taobao.com) using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using S…

rk3588配置uac功能,android13使能uac及adb的复合设备

最近,因新增需求需要在现有产品上增加UAC的功能,查阅并学习相关知识后,在rk3588 SOC硬件平台搭载android13系统平台上成功配置了uac及uac&adb的复合设备。基于开源共享精神希望给大家提供些参考。 1.技术可行性预研 (1&#…

【一起来学kubernetes】7、k8s中的ingress详解

引言配置示例负载均衡的实现负载均衡策略实现模式实现方案Nginx类型Ingress实现Treafik类型Ingress实现HAProxy类型ingress实现Istio类型ingress实现APISIX类型ingress实现 更多 引言 Ingress是Kubernetes集群中的一种资源类型,用于实现用域名的方式访问Kubernetes…

自建私有化证书颁发机构(Certificate Authority,CA)实战之 《0x02 Nginx 配置 https双向认证》

自建CA实战之 《0x02 Nginx 配置 https双向认证》 上一章节我们已经实现了Nginx上配置https单向认证,主要场景为客户端验证服务端的身份,但是服务端不验证客户端的身份。 本章节我们将实现Nginx上配置https双向认证,主要场景为客户端验证服…

C++ 实现位图

引出 面试题:给出 40 亿个不重复的无符号整数,没有排过序。给定一个无符号整数,如何快速判断这个数是否在这 40 亿个无符号整数中。[ 腾讯面试题 ] 想法一:将 40 亿个数据存放到 set 里面,然后再查找指定的无符号整数。…

论文阅读——MCAN(cvpr2019)

补充一下MCAN-VQA: 对图片的处理:首先输入图片到Faster R-CNN,会先设定一个判断是否检测到物体的阈值,这样动态的生成m∈[10,100]个目标,然后从检测到的对应的区域通过平均池化提取特征。第i个物体特征表示为&#xff…

MUYUCMS v2.1:一款开源、轻量级的内容管理系统

MuYuCMS:一款基于Thinkphp开发的轻量级开源内容管理系统,为企业、个人站长提供快速建站解决方案。它具有以下的环境要求: 支持系统:Windows/Linux/Mac WEB服务器:Apache/Nginx/ISS PHP版本:php > 5.6 (…

发布鸿蒙的第一个java应用

1.下载和安装华为自己的app开发软件DevEco Studio HUAWEI DevEco Studio和SDK下载和升级 | HarmonyOS开发者 2.打开IDE新建工程(当前用的IDEA 3.1.1 Release) 选择第一个,其他的默认只能用(API9)版本,搞了半天才发现8&#xff…

11 月 25 日 ROS 学习笔记——3D 建模与仿真

文章目录 前言一、在 ROS 中自定义机器人的3D模型1. 在 rviz 里查看3D模型2. xacro 二、Gazebo1. urdf 集成 gazebo2. 综合应用1). 运动控制及里程计2). 雷达仿真3). 摄像头信息仿真4). kinect 深度相机仿真5). 点云 前言 本文为11 月 25 日 ROS 学习笔记——3D 建模与仿真&am…

STK Components 基础篇

1.开发包 STK Components 访问AGI官网,注册并登录后,从官网下载开发包:https://support.agi.com/downloads/,下载成功后可以申请许可证,AGI会向你注册的邮箱地址发送有效期半年的使用授权许可文件(lic文件…

最详细手把手教你安装 Git + TortoiseGit 及使用

软件下载 从 Git 官网 下载 Git 安装程序,点击 Download for Windows: 点击下载 64-bit Git for Windows Setup: Git for Windows Setup 为安装版本,建议选择此版本Git for Windows Portable 为绿色免安装版本 从 TortoiseGit 官网 下载 T…

Spring Boot + hutool 创建海报图片

Spring Boot hutool 创建海报图片 /*** 分享,生成图片* param id* return*/GetMapping("/getShareImg")public void getShareImg(String id,HttpServletResponse response) throws IOException {CouponConsignSaleClassify byId couponConsignSaleClassifyService…