• 学习中遇到的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数组变为00,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;
    }



  • 相关阅读:
    关于FPGA设计16位乘法器的两…
    const&nbsp;int&nbsp;*pi与int&amp;nbs…
    HTML5基础学习
    html5基础!!
    正确分析结构使用正确的HTML标签。CSS样式写一起。
    开发经验以及方法
    布局设计
    position定位
    浏览器的兼容性
    float浮动的世界
  • 原文地址:https://www.cnblogs.com/yfceshi/p/6735013.html
Copyright © 2020-2023  润新知