学习中遇到的c++问题,持续更新
原文请訪问我的博客:http://xiaoshig.sinaapp.com/
向上取整
- 使用ceil函数。ceil(x)返回的是大于x的最小整数。如:
- ceil(2.5) = 3
- ceil(-2.5) = -2
sort排序头文件
#include <algorithm>
数组初始化总结
整型数组初始化://仅仅能赋值0,赋其它值用memset(a,要赋的值,sizeof(a));
char a[3][4]={0};
字符数组初始化:
int b[3][4]={0};
布尔型数组初始化:
bool c[5]={0};
结构体初始化:
struct instruction{ //定义结构体,存储指令
int head; //识别指令
int d;
int n; //指令附加内容
}pro[1000]={0}; //存储程序体,相当于RAM
初始化之后都会变成0。
(char数组变为\000,int数组变为0,bool数组变为false,这个样例里的结构体全部元素的每个成员值都为0)
sort()函数的使用
sort()和qsort()一样,都是对数组的指定部分排序。qsort()仅仅使用了快排。sort()使用了混合排序。相比之下,sort()更快一些。
sort()函数经常使用的有两种形式,两个參数的形式,和三个參数的形式。
1、两參数:sort(数组名。数组末地址); //比如:sort(a+1,a+n+1);就是对a[1]...a[n+1]进行排序。默认是升序排序。假设想改变排序顺序,须要另写一个比較函数
2、三參数:sort(数组名,数组末地址。比較函数);
比如:
- bool cmp(const int a,const int b)
- {
- return a<b;
- }
- sort(a+1,a+10+1,cmp);
就是对a[1]...a[n+1]进行从大到小排序。
string类库
substr 方法
返回一个从指定位置開始的指定长度的子字符串。 stringvar.substr(start [開始的数, length ]) 參数 stringvar 必选项。
要提取子字符串的字符串文字或 String 对象。 start 必选项。
所需的子字符串的起始位置。
字符串中的第一个字符的索引为 0。 length 可选项。
在返回的子字符串中应包含的字符个数。 说明 假设 length 为 0 或负数。将返回一个空字符串。假设没有指定该參数,则子字符串将延续到
stringvar 的最后。
演示样例 以下的演示样例演示了substr 方法的使用方法。
- <pre name="code" class="cpp">function SubstrDemo()
- { var s, ss; //声明变量。
- var s = "The rain in Spain falls mainly in the plain.";
- ss = s.substr(12, 5); //获取子字符串。
- return(ss);
- //返回 "Spain"。
查找字符串a是否包括子串b。
不是用strA.find(strB) > 0而是strA.find(strB) != string:npos
- #include "stdafx.h"
- #include <iostream>
- #include <vector>
- #include <algorithm>
- using namespace std;
- int student_Score[] = { 50,80,93,23,66};
- void pritit(int nScore)
- {
- cout<<nScore<<" ";
- }
- bool unPass(int nScore)
- {
- return nScore < 60;
- }
- bool Pass(int nScore)
- {
- return nScore >= 60;
- }
- int main(int argc, char* argv[])
- {
- vector<int> v_score(student_Score,student_Score+sizeof(student_Score)/sizeof(int));
- vector<int>::iterator index;
- //排序
- sort(v_score.begin(),v_score.end());
- //显示
- for_each(v_score.begin(),v_score.end(),pritit); cout<<endl;
- //显示最小
- index = min_element(v_score.begin(),v_score.end());
- cout<<"最小分数 "<<*index<<endl;
- //显示最大
- index = max_element(v_score.begin(),v_score.end());
- cout<<"最大分数 "<<*index<<endl;
- //显示不低于60分的数量
- cout<<"低于60的数量 " <<count_if(v_score.begin(),v_score.end(),unPass)<<endl;
- //高于60的数量
- cout<<"高于60的数量 "<<count_if(v_score.begin(),v_score.end(),Pass)<<endl;
- //平均数
- int sum = 0;
- for (index = v_score.begin(); index != v_score.end(); index++)
- {
- sum += *index;
- }
- cout<<"平均数 "<<sum / v_score.size() <<endl;
- return 0;
- }
学习中遇到的c++问题,持续更新的更多相关文章
- 值得学习的C/C++开源项目 持续更新
值得学习的C语言开源项目 持续更新 文章目录 值得学习的C语言开源项目 持续更新 - 1. Webbench - 2. Tinyhttpd - 3. cJSON - 4. CMockery - 5. ...
- PHP 日常开发过程中的bug集合(持续更新中。。。)
PHP 日常开发过程中的bug集合(持续更新中...) 在日常php开发过程中,会遇到一些意想不到的bug,所以想着把这些bug记录下来,以免再犯! 1.字符串 '0.00'.'0.0'.'0' 是 ...
- 【 js 基础 】【 源码学习 】源码设计 (持续更新)
学习源码,除了学习对一些方法的更加聪明的代码实现,同时也要学习源码的设计,把握整体的架构.(推荐对源码有一定熟悉了之后,再看这篇文章) 目录结构:第一部分:zepto 设计分析第二部分:undersc ...
- Android中常用开发工具类—持续更新...
一.自定义ActionBar public class ActionBarTool { public static void setActionBarLayout(Activity act,Conte ...
- Android开发中常用的库总结(持续更新)
这篇文章用来收集Android开发中常用的库,都是实际使用过的.持续更新... 1.消息提示的小红点 微信,微博消息提示的小红点. 开源库地址:https://github.com/stefanjau ...
- k8s学习之资料参考网址(持续更新)
此文章持续更新关于学习k8s生态的参考网址: 二进制方式搭建 (此部署方式是一步一步的部署,过程清晰) https://github.com/opsnull/follow-me ...
- Linux 系统化学习系列文章总目录(持续更新中)
本页内容都是本人系统化学习Linux 时整理出来的.这些文章中,绝大多数命令类内容都是翻译.整理man或info文档总结出来的,所以相对都比较完整. 本人的写作方式.风格也可能会让朋友一看就恶心到直接 ...
- 【Elasticsearch学习】DSL搜索大全(持续更新中)
1.复合查询 复合查询能够组合其他复合查询或者查询子句,同时也可以组合各个查询的查询结果及得分,也可以从Query查询转换为Filter过滤器查询. 首先介绍一下Query Context和 Filt ...
- 基础学习:MYSQL命令大全(持续更新中---最近一次:2019.12.6)
启动mysql : mysql -hlocalhost -uroot -p创建数据库:create database 数据库名字;指定要操作的数据库:use 数===据库名字;查看数据表建表语句:sh ...
- 学习makefile与autoconfig笔记,持续更新
main.c #include<stdio.h> #include"chen_print.h" int main(int argc , char * argv ){ c ...
随机推荐
- linux 文件处理大杂烩
1.对文件某行进行统计排序 awk '{ printf "%-40s \n",$4}' /var/log/yum.log | sort | uniq -c | sort -nk ...
- .Net高级技术——程序集
程序集(Assembly),可以看做是一堆相关类打一个包,相当于java中的jar包(*).打包的目的:程序中只引用必须的程序集,减小程序的尺寸:一些程序集内部的类不想让其他程序集调用. 我们调用的类 ...
- iOS Sprite Kit最新特性Physics Field虚拟物理场Swift測试
在WWDC2014上,Sprite Kit又有了非常多新的提升! 当中一个非常有意思的东西就是Physics Field!也就是物理场! 这意味着我们在Sprite kit上编写虚拟物理场的游戏将变得 ...
- .NET:异常以及异常处理框架探析(转载)
概述 一般情况下,企业级应用都对应着复杂的业务逻辑,为了保证系统的健壮,必然需要面对各种系统业务异常和运行时异常. 不好的异常处理方式容易造成应用程序逻辑混乱,脆弱而难于管理.应用程序中充斥着零散的异 ...
- jquery 根据name获取元素的问题
我要获取name属性为test的元素 但是这个test是赋值给变量的 如var name='test'; 即要获取name属性为变量name的元素 请问jquery怎么写? $("input ...
- [Linux] Linux 守护进程的启动方法
reference : http://www.ruanyifeng.com/blog/2016/02/linux-daemon.html "守护进程"(daemon)就是一直在后台 ...
- [PHP] ubuntu16.04下 Phpstorm发布项目到apache
reference to : http://blog.csdn.net/qq_23937195/article/details/72953308 在网上找的不靠谱,倒腾了大半天的,终于找到正确姿势QA ...
- 借助 Resharper 和 StyleCop 让代码更整洁
一:工具安装 Resharper 和 StyleCop 必须安装. Resharper 的配置文件如下:Resharper.zip 请按如下步骤导入, 1: 2: 3: StyleCope 的配置 ...
- 10 Big Data Possibilities for 2017 Based on Oracle's Predictions
2017 will see a host of informed predictions, lower costs, and even business-centric gains, courtesy ...
- 3D几何图形生成的DEMO
3D几何图形生成的DEMO 可以生成以下几种图形: [1] 平面(Plane)图形的生成算法 [2] 立方体(Box)图形的生成算法 [3] 球(Sphere)图形的生成算法 [4] 圆锥(Cone) ...