刷题常用

Posted by ysd on September 13, 2016
  • 随机数
  • #include <stdlib.h>
    // 要取得[a,b)的随机整
    (rand() % (b-a)) + a; 
    // 要取得[a,b]的随机整
    (rand() % (b-a+1)) + a; 
    // 要取得(a,b]的随机整
    (rand() % (b-a)) + a + 1; 
    
  • string int 互转
  • #include <sstream>
    stringstream ss;
    int n;
    string str;
    // string to int
    str = "asdfasdfasdf";
    ss << str;
    ss >> n;
    // int to string
    n = 12312;
    ss << n;
    ss >> str;
    // sprintf
    #include <stdio.h>
    char buf[10];
    sprintf(buf, "%d", n);
    // sscanf
    char str[] = "15.455";
    int i;
    float fp;
    sscanf(str, "%d", &i);         // i = 15
    sscanf(str, "%f", &fp);      // fp = 15.455000