• C++中的各种函数及用法(3)


    accumulate(,)

    accumulate(,)//将一段数字从头到尾累加起来。

    #include
    using namespace std;
    int n,a[105],s;
    int main(){
    cin>>n;
    for(int i=1;i<=n;i++)cin>>a[i];
    s=accumulate(a+1,a+n+1,0);
    cout<<s;
       return 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    accumulate(,,1,multiplies<int>())//还可以将一段数字从头到尾相乘起来。
    
    • 1
    #include
    using namespace std;
    int n,a[105],s;
    int main(){
    cin>>n;
    for(int i=1;i<=n;i++)cin>>a[i];
    s=accumulate(a+1,a+n+1,1,multiplies<int>());
    cout<<s;
       return 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    next_permutation(,)

    next_permutation(,)//数组的全排列,前提是数组从小到大

    #include
    using namespace std;
    int n,a[105],s;
    int main(){
    cin>>n;
    for(int i=1;i<=n;i++)cin>>a[i];
    sort(a+1,a+n+1);
    next_permutation(a+1,a+n+1);
       return 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    isdigit()

    isdigit(a)//判断是否十进制数,如果 a是一个数字,则该函数返回非零值,否则返回 0。

    #include
    using namespace std;
    int a;
    int main(){
    cin>>a;
    cout<<isdigit(a);
       return 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    isalnum()

    isalnum(a)//判断是否字母或数字,如果 a是一个数字或一个字母,则该函数返回非零值,否则返回 0。

    #include
    using namespace std;
    int a;
    int main(){
    cin>>a;
    cout<<isalnum(a);
       return 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    .append()

    .append()//字符串尾插其他字符串

    #include
    using namespace std;
    string x,y;
    int main(){
    cin>>x>>y;
    x.append(y);
    cout<<x; 
       return 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    distance(,)

    distance(first, last)//用于计算两个迭代器表示的范围内包含元素的个数。该函数会返回[first, last)范围内包含的元素的个数(距离)。

    #include
    using namespace std;
    int n,a[105];
    int main(){
    cin>>n;
    for(int i=1;i<=n;i++)
        cin>>a[i];
    cout<<distance(a+1,a+n+1);
       return 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    copy(,)

    copy(first,last, a)//把一个序列从first到last复制到a
    注意:copy只负责复制,不负责申请空间,所以复制前必须要有足够的空间。

    #include
    using namespace std;
    int n,a[105],b[105];
    int main(){
    cin>>n;
    for(int i=1;i<=n;i++)
        cin>>a[i];
    cout<<copy(a+1,a+n+1,b);
    for(int i=1;i<=n;i++)
        cout<<b[i]<<" ";
       return 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    __builtin_popcount()

    __builtin_popcount(a)//计算a在二进制中“1”的个数

    #include
    using namespace std;
    int a;
    int main(){
    cin>>a;
    cout<<__builtin_popcount(a);
       return 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    附:最大最小整数表

    常量
    CHAR_MIN-128
    CHAR_MAX127
    UCHAR255(0xff)
    SHRT_MIN-32768
    SHRT_MAX32767
    USHRT_MAX65535 (0xffff)
    INT_MIN-2147483646
    INT_MAX2147483647
    UINT_MAX4294967295 (0xffffffff)
    LONG_MIN-2147483646
    LONG_MAX2147483647
    ULONG_MAX4294967295 (0xffffffff)
    LLONG_MIN-9223372036854775806
    LLONG_MAX9223372036854775807
    ULLONG_MAX18446744073709551615 (0xffffffffffffffff)
  • 相关阅读:
    【PaperReading】情感人的互联网:通过视听信号实现跨文化的可持续情感计算
    Docker部署前后端服务示例
    Fiddler移动端抓包
    const修饰指针
    几分钟实现对恶意IP地址进行拦截,腾讯云Web防火墙实在太香了!
    狂团KtAdmin框架正式免费开源发布,助力独立版SAAS系统快速开发!
    Java 在Word文档中添加艺术字
    关于Facebook营销的十个常见问题,一次性讲清楚!
    Docker——本文来自AI创作助手
    新建云仓库
  • 原文地址:https://blog.csdn.net/lzx_xzl_______/article/details/126461884