学习中遇到的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命令service - 系统服务管理(转)
用途说明 service命令用于对系统服务进行管理,比如启动(start).停止(stop).重启(restart).查看状态(status)等.相关的命令还包括chkconfig.ntsysv等,c ...
- 事件冒泡与捕获&事件托付
设想这样一种情况 一个div里面有个span元素 ,当鼠标单击span时,这个事件算是谁的? div还是span? 准确的说两个都触发了,这种认可大家都允许,事实就是这种, 第二个问题来了,这个事件 ...
- js删除字符串的最后一个字符三种方法
字符串 var basic = "abc,def,ghi,"; 第一种 basic = basic.substr(0, basic.length - 1); 第二种 basic = ...
- win8.1快速启动选项突然消失了怎么办?
win8开始提供的快速启动功能是一种混合式的休眠模式,Windows系统 在关机时将系统的信息保存到硬盘上的一个文件中来实现下一次的快速启动.当再次启动电脑时, Windows 使用该系统信息文件来恢 ...
- Android之ConnectivityManager
在android平台中ConnectivityManager主要负责查询网络连接状态以及在连接状态有变化的时候发出通知.其主要的功能职责如下: 1. 监视网络状态,包括(Wi-Fi.GPRS.UMT ...
- 追MM和Java的23种设计模式
我在Java论坛看到这篇文章,作者以轻松的语言比喻了java的32种模式,有很好的启发作用,但可惜没有给出具体的意思,我就在后边加上了.这些都是最简单的介绍,要学习的话建议你看一下阎宏博士的<J ...
- C++中二维数组的动态分配
C++中二维数组的动态分配 作者: 来源:csdn博客 公布者:admin 时间:2009-04-23 13:55:03 点击:115 C++中一维数组的动态分配十分经常使用,但C++刚開 ...
- mysql错误日志/var/log/mariadb/mariadb.log,二进制日志
mariadb-日志 IT_luo关注0人评论65人阅读2018-10-15 08:59:03 mariadb日志 mariadb日志: 1.查询日志:query log: 2.慢查询日志:slo ...
- 用java解析在OpenStreetMap上下载的地图数据(SAX版,适合比较大的xml文件)
java程序如下: package gao.map.preprocess; import java.io.BufferedWriter; import java.io.File; import jav ...
- 混沌数学之Rössler(若斯叻)吸引子
若斯叻吸引子(Rössler attractor)是一组三元非线性微分方程: frac{dx(t)}{dt} = -y(t)-z(t) frac{dy(t)}{dt} = x(t)+a*y(t) fr ...