C 库函数 scanf() 介绍
#include <stdio.h>
描述
C 库函数 scanf(scan formatted) 从标准输入 stdin 读取格式化输入,并在指定的参数中写入结果。
声明
int scanf (const char *format, ...);
参数
空白字符:函数将读取并忽略在下一个非空白字符之前遇到的任何空白字符(空白字符包括空格、换行和制表符[1])。
非空白字符,格式说明符(%除外):每个格式字符串中的这种字符处理来自输入流的准确同一字符,或若它与流的下个字符比较不相等则导致函数失败。
格式说明符:由初始百分号 (%) 形成的序列表示格式说明符,用于指定要从流中检索并存储到附加参数指向的位置的数据的类型和格式。
附加参数:输入数据的存储位置。为了存储此输入数据,scanf 需要知道变量的内存位置。
scanf 的格式说明符遵循以下原型:%[*][width][length]specifier
格式说明符
格式说明符的解释及其相应参数的类型:
转换指示符
描述
i
匹配一个整数
d or u
匹配一个十进制整数,u 匹配无符号十进制整数
...
网站设计基础-CSS3基础
CSS概述
CSS简介
层叠样式表Cascading Style Sheets)。
也是一种标记语言。
主要用于设置HTML页面中的文本内容(字体、大小、对齐方式等)、图片的外形(宽高、边框样式、边距等)以及版面的布局和外观显示样式。
CSS让我们的网页更加丰富多彩,布局更加灵活自如。
CSS最大价值: 由HTML专注去做结构呈现,样式交给CSS,即结构(HTML)与样式(CSS)相分离。
CSS规则
CSS规则由两个主要的部分构成:选择器和声明。
1234567<style type="text/css"> P { font-size: 20px; color: #00ff00; }</style><!-- <style>一般写到<head>内部。 -->
CSS书写规范
CSS书写顺序
位置属性(position, top, right, z-index, display, float等)
大小(width, height, paddin ...
最大公约数
最大公约数即为Greatest Common Divisor,常缩写为gcd。
更相减损术
描述
更相减损术是出自《九章算术》的一种求最大公约数的算法,它原本是为约分而设计的,但它适用于任何需要求最大公约数的场合。
可半者半之,不可半者,副置分母、子之数,以少减多,更相减损,求其等也。以等数约之。
定义
∀a,b∈N,a⩾b⇒gcd(a,b)=gcd(b,a−b)=gcd(a,a−b)\forall a, b \in \mathbb{N}, a \geqslant b \Rightarrow \gcd(a, b) = \gcd(b, a - b) = \gcd(a, a - b)
∀a,b∈N,a⩾b⇒gcd(a,b)=gcd(b,a−b)=gcd(a,a−b)
∀a,b∈N⇒gcd(2a,2b)=2⋅gcd(a,b)\forall a, b \in \mathbb{N} \Rightarrow gcd(2a, 2b) = 2 \cdot \gcd(a, b)
∀a,b∈N⇒gcd(2a,2b)=2⋅gcd(a,b)
证明
a∣ba \mid ba∣b 表示 aaa 能 ...
网站设计基础-HTML5基础
HTML5基本结构
HTML5(Hyper Text Markup Language 超文本标记语言)实际上不算是一种编程语言,而是一种标记语言。所谓超文本,有 2 层含义:
它可以加入图片、声音、动画、多媒体等内容(超越文本限制 )。
它还可以从一个文件跳转到另一个文件,与世界各地主机的文件连接(超级链接文本 )。
基本结构是由一系列成对出现的元素标签组合而成,这些标签以< >的形式出现,用于标记文本内容的含义。浏览器通过元素标签解析文本内容并将结果显示在网页上,而元素标签本身并不会被浏览器显示出来。
123456789<!DOCTYPE html><html> <head> <title>网页标题</title> </head> <body> 主体内容 </body></html>
HTML5元素的内容一般以起始标签<元素名>开始,以结束标签</元素名>终止。例如首部标签<hea ...
网站设计基础-第一章 绪论
Web原理基础
Web架构
Web架构是由Web服务器与Web浏览器两部分组成的,也可以称为是浏览器/服务器(B/S,Browser/Server)架构,如图所示。
Web服务器
Web服务器是在实体机或虚拟机服务器设备中安装的服务器软件,在联网环境中可以接收用户在Web浏览器中输入的URL(UniformResource Locator,统一资源定位符)地址,然后将该地址对应的文本、图片等内容发送给用户并显示在用户使用的Web浏览器中。
Web服务器通常用于放置网页文件和数据供用户访问和下载。
常用的Web服务器有Apache、IIS、Nginx等。
Web浏览器
Web浏览器是安装在客户端(PC端或移动设备)的软件,用于访问和显示Web资源。
用户打开Web浏览器后输入正确的URL地址就可以访问网络上的资源,Web资源一般会以HTML文件(后缀名为.html或.htm的文件)的形式发送给浏览器。
浏览器可以解析和运行接收到的HTML文件,使其在浏览器中呈现带有文字、图像、超链接等丰富内容并且具有排版布局效果的画面,即Web页面。
Web应用
Web应用不需要安装,其程序 ...
HTML5笔记-01
HTML简介导读
网页
什么是网页
网站是指在因特网上根据一定的规则,使用HTML等制作的用于展示特定内容相关的网页集合。
网页是网站中的一“页”,通常是HTML格式的文件,它需要通过浏览器来阅读。
网页是构成网站的基本元素,它通常由图片、链接、文字、声音、视频等元素组成。通常我们看到的网页,常见以.htm或.html后缀结尾的文件,因此将其俗称为HTML文件。
什么是HTML
HTML指的是超文本标记语言(Hyper Text Markup Language),它是用来描述网页的一种语言。
HTML不是一种编程语言,而是一种标记语言(markup language)。
标记语言是一套标记标签(markup tag)。
所谓超文本,有两层含义:
它可以加入图片、声音、动画、多媒体等内容(超越了文本限制)。
它还可以从一个文件跳转到另一个文件,与世界各地主机的文件连接(超级链接文本)。
网页的形成
网页是由网页元素组成的,这些元素是利用html标签描述出来,然后通过浏览器解析来显示给用户的。
前端人员开发代码 ⟶\longrightarrow⟶ 浏览器显示代码(解析、渲染) ⟶\lo ...
STL中与二分查找有关函数的用法
binary_search()、lower_bound()和upper_bound()函数在头文件<algorithm>中
binary_search()
1std::binary_search(begin, end, value);
binary_search()函数用于查找指定的元素,找到返回true,否则返回false。
lower_bound()
1std::lower_bound(begin, end, value);
lower_bound()函数返回数组中大于等于value的第一个元素的地址,若数组中的元素均小于value则返回尾后地址。
int a[]
lower_bound(a, a + n, 3) - a
[1,2,3,3,3,4]
2
[1,2,2,4]
3
[4,5,6,7,8]
0
[1,1,2,2,2]
5
upper_bound()
1std::upper_bound(begin, end, value);
upper_bound()函数返回数组中大于value的第一个元素的地址,若数组中的元素均小 ...
二分查找题解
力扣704. 二分查找
题目
给定一个n个元素有序的(升序)整型数组nums和一个目标值target,写一个函数搜索nums中的target,如果目标值存在返回下标,否则返回-1。
示例一
123输入: nums = [-1,0,3,5,9,12], target = 9输出: 4解释: 9 出现在 nums 中并且下标为 4
示例二
123输入: nums = [-1,0,3,5,9,12], target = 2输出: -1解释: 2 不存在 nums 中因此返回 -1
提示:
你可以假设 nums 中的所有元素是不重复的。
n 将在 [1, 10000]之间。
nums 的每个元素都将在 [-9999, 9999]之间。
思路
这道题目的前提是数组为有序数组,同时题目还强调数组中无重复元素,因为一旦有重复元素,使用二分查找法返回的元素下标可能不是唯一的,这些都是使用二分法的前提条件。
写二分法,区间的定义一般为两种,左闭右闭即[left, right],或者左闭右开即[left, right)。
题解
123456789101112131415161718class Solu ...
二分查找
二分查找简介
二分查找也称折半查找(Binary Search),它是一种效率较高的查找方法。但是,折半查找要求线性表必须采用顺序存储结构,而且表中元素按关键字有序排列。
算法要求
必须采用顺序存储结构
必须按关键字大小有序排序
时间复杂度
O(log2n)O(\log_{2}{n})O(log2n)
二分查找框架
123456789101112131415int binarySearch(int[] nums, int target) { int left = 0, right = ...; while(...) { int mid = left + ((right - left) / 2); if (nums[mid] > target) { right = ... } else if (nums[mid] < target) { left = ... } else { ...
JavaScript笔记-03_数据类型
数据类型简介
为什么需要数据类型
在计算机中,不同的数据所需占用的存储空间是不同的,为了便于把数据分成所需内存大小不同的数据,充分利用存储空间,于是定义了不同的数据类型。
变量的数据类型
变量是用来存储值得所在处,它们有名字和数据类型。变量的数据类型决定了如何将代表这些值的位存储到计算机的内存中。JavaScript是一种弱类型或者说动态语言。这意味着不用提前声明变量的类型,在程序运行过程中,类型会被自动确定。
12var num = 10; // 这是一个数字型var hello = "world"; // 这是一个字符串
在代码运行时,变量的数据类型是由JS引擎根据 = 右边变量值的数据类型来判断的,运行完毕之后,变量就确定了数据类型。
JavaScript拥有动态类型,意味着相同的变量可用作不同的类型:
12var x = 6; // x为数字var x = "hello"; // x为字符串
数据类型的分类
JS把数据类型分为两类:
简单数据类型(Number,String,Boolean,Undefined, ...