C语言中输入缓冲区的处理是一个坑,当程序做大的时候,当我们频繁的输入字符型的数据的时候就会遇到,之前看到过课本上简单的处理方法使用fflush()函数可getchar(),但是前者在新版的VS效果不理想,后者也只能去除一个输入缓冲区字符,当我们不小心输入的过多时就不顶用了,所在网上找解决办法,发现了这个很好的解决方案。由于对C的三个缓冲区,理解不够深入,这里就不分析原因,直接给出代码解决方案。char ch;while( (ch = getchar()) != '\n' && ch != EOF ) //彻底清除输入缓冲区剩下所有内容
1:C++新增数据类型 Bool类型 真true 假false 2:C++新增一种初始化方法 传统(复制初始化):int x =1024; 新增(直接初始化):int x (1024); 3:随用随定义4:输入输出cout 语法形式(输出) <<输出流 endl相当于回车; cout<< X << endl; cout<< “X +Y =” << x + y; cout<< x, y, z << endl (错误)...
/**数字转度量 *@param int $num 数字@param int $precision 小数位数@return string|int */function num2metric($num, $precision = 0) {$unitList = [ 'P' => 15, 'T' => 12, 'G' => 9, 'M' => 6, 'W' => 4, 'K' => 3, ]; $num = (int) $num; foreach($unitList as $name => $pow...
// 账户类型 $tye = 1; // 站点ID,可以提供地址栏拿到 $siteId = 12169310; // 用户名 $username = 'hongfs'; // 密码 $password = 'xxxxxxxx'; // Token 获取方式:https://tongji.baidu.com/web/help/article?id=129&type=0 $toekn = 'dfdb991d49455xx16b4a53433f045a18'; /* * 获取数据 * * @param int $day 查询天数 *...
/** * 验证身份证号 * https://gist.github.com/lmh3/331d225f4f63eed7e6152a35ab625906 * * @param string|int $code 身份证号码 * @return bool */ function validator_idcard($code) : bool { $code = strval($code); if(strlen($code) !== 18 || !preg_match('/^\d+$/i', substr($code, 0, -1))) { re...
思路通过设置一个初始中间值,来将需要排序的数组分成3部分,小于中间值的左边,中间值,大于中间值的右边,继续递归用相同的方式来排序左边和右边,最后合并数组代码<?php $a = array(2, 13, 42, 34, 56, 23, 67, 365, 87665, 54, 68, 3); function quicksort($a) { if (count($a) <= 1) { return $a; } $mid = $a[0]; $left = array(); $right= array(); for...
str_split(string,length)参数 描述string 必需。规定要分割的字符串。length 可选。规定每个数组元素的长度。默认是 1。<?php print_r(str_split("Shanghai")); ?> Array ( [0] => S [1] => h [2] => a [3] => n [4] => g [5] => h [6] => a [7] => i )
定义折半查找技术,也就是二分查找。它的前提是线性表中的记录必须是关键码有序(通常从大到小有序),线性表必须采用顺序存储。折半查找的基本思想取中间记录作为比较对象,若给定值与中间记录的关键字,则在中间记录的关键字相等,则查找成功;若给定值小于中间记录的作伴去继续查找;若给定值大于中间记录的关键字,则在中间记录的右半区继续查找。不断重复上述过程,直到查找成功,或所有查找区域无记录,查找失败为止。实践:<?php function bin_search($arr, $val) { $low=0; $high=count($arr); $index=0; ...
<?php /** * 时间转为为几天前,几分钟前等数据 * @param $the_time * @return string */ function time_tran($the_time) { $now_time = date("Y-m-d H:i:s", time()); //echo $now_time; $now_time = strtotime($now_time); $show_time = strtotime($the_time); $dur = $now_time - $show_time;...
<?php /** * 删除某个目录(目录和目录下面的子目录文件全部删除) */ function delDir($directory){//自定义函数递归的函数整个目录 if(file_exists($directory)){//判断目录是否存在,如果不存在rmdir()函数会出错 if($dir_handle=@opendir($directory)){//打开目录返回目录资源,并判断是否成功 while($filename=readdir($dir_handle)){//遍历目录,读出目录中的文件或文件夹 ...