原文请訪问我的博客: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

algorithm
简单使用方法

#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++问题,持续更新的更多相关文章

  1. 值得学习的C/C++开源项目 持续更新

    值得学习的C语言开源项目 持续更新 文章目录 值得学习的C语言开源项目 持续更新 - 1. Webbench - 2. Tinyhttpd - 3. cJSON - 4. CMockery - 5. ...

  2. PHP 日常开发过程中的bug集合(持续更新中。。。)

    PHP 日常开发过程中的bug集合(持续更新中...) 在日常php开发过程中,会遇到一些意想不到的bug,所以想着把这些bug记录下来,以免再犯! 1.字符串 '0.00'.'0.0'.'0'  是 ...

  3. 【 js 基础 】【 源码学习 】源码设计 (持续更新)

    学习源码,除了学习对一些方法的更加聪明的代码实现,同时也要学习源码的设计,把握整体的架构.(推荐对源码有一定熟悉了之后,再看这篇文章) 目录结构:第一部分:zepto 设计分析第二部分:undersc ...

  4. Android中常用开发工具类—持续更新...

    一.自定义ActionBar public class ActionBarTool { public static void setActionBarLayout(Activity act,Conte ...

  5. Android开发中常用的库总结(持续更新)

    这篇文章用来收集Android开发中常用的库,都是实际使用过的.持续更新... 1.消息提示的小红点 微信,微博消息提示的小红点. 开源库地址:https://github.com/stefanjau ...

  6. k8s学习之资料参考网址(持续更新)

    此文章持续更新关于学习k8s生态的参考网址:  二进制方式搭建 (此部署方式是一步一步的部署,过程清晰)            https://github.com/opsnull/follow-me ...

  7. Linux 系统化学习系列文章总目录(持续更新中)

    本页内容都是本人系统化学习Linux 时整理出来的.这些文章中,绝大多数命令类内容都是翻译.整理man或info文档总结出来的,所以相对都比较完整. 本人的写作方式.风格也可能会让朋友一看就恶心到直接 ...

  8. 【Elasticsearch学习】DSL搜索大全(持续更新中)

    1.复合查询 复合查询能够组合其他复合查询或者查询子句,同时也可以组合各个查询的查询结果及得分,也可以从Query查询转换为Filter过滤器查询. 首先介绍一下Query Context和 Filt ...

  9. 基础学习:MYSQL命令大全(持续更新中---最近一次:2019.12.6)

    启动mysql : mysql -hlocalhost -uroot -p创建数据库:create database 数据库名字;指定要操作的数据库:use 数===据库名字;查看数据表建表语句:sh ...

  10. 学习makefile与autoconfig笔记,持续更新

    main.c #include<stdio.h> #include"chen_print.h" int main(int argc , char * argv ){ c ...

随机推荐

  1. ubuntu 13.04 编译 安装 升级 gcc 4.9.0 address sanitizer

    @ 前记: 最近查一个线上项目的crash,review代码无果,crash几率低,不可在本地环境重现.之后在线上好几个服务器跑valgrind就不crash了.个人猜测可能是跑valgrind后性能 ...

  2. 华为S5300系列升级固件S5300SI-V100R005C00SPC100.cc

    这个固件附带了web,注意,这个插件是升级V200的必经固件,所以必须升级为此固件之后才能往下升级. 升级小插曲: 1.升级的使用使用Windows,不要用Mac或者Linux,因为从Mac/Linu ...

  3. 从零开始搭建linux下laravel 5.5所需环境(三)

    好的,我们已经安装好了nginx+mysql+php了,打开[ Laravel 5.5 文档 ] 快速入门 —— 安装配置篇 我们看到这里需要安装Composer,好的,我们现在就来安装Compose ...

  4. Tasker to proximity screen on

    in my previous entry, i posed an idea how to use the built-in proximity sensor to turn the screen of ...

  5. [android]ShareSDK——内容分享和短信验证

    前言 新版本号ShareSDK的分享和短信验证,按官网的文档,都须要加入一个<Activity></Activity>标签,而分享和短息验证的这个标签内容都一样.会冲突. 解决 ...

  6. xamarin其实也是一个鸡肋

    刚刚体验了一把VS 2015,后来因为部分sdk和工具下载太慢,还是最终决定卸载.顺道了解了下xamarin studio.个人感觉Xamarin完全也是一个鸡肋,没必要过多的时间在xamarin上面 ...

  7. hibernate一级缓存,二级缓存和查询缓存

    一级缓存 (必然存在)  session里共享缓存,伴随session的生命周期存在和消亡:   1. load查询实体支持一级缓存 2. get查询实体对象也支持 3. save保存的实体对象会缓存 ...

  8. Oracle 11g 错误:ORA-28002: the password will expire within 7 days 解决方法

    ERROR:ORA-28002: the password will expire within 7 days 错误是提示password快过期了,有两个办法解决问题. 一. 改动已经报错用户的pas ...

  9. .NET泛型01,为什么需要泛型,泛型基本语法

    .NET泛型或许是借鉴于C++泛型模版,借助它可以实现对类型的抽象化.泛型处理,实现了类型和方法之间的解耦.一个最经典的运用是在三层架构中,针对不同的领域模型,在基接口.基类中实现针对各个领域模型的泛 ...

  10. rocketmq技术架构图

    NameServer.Broker.Producer.Consumer之间如何进行通信,如何工作: NameServer和Broker: NameServer主要做两件事情,第一就是管理Broker, ...