浙大PAT考试经验/考前必看/日常刷题总结(经验只写了一点点

一些以前不了解的知识点(及常用函数)


  1. 工具-编译选项-“-std=c++11" //c要小写 某天傻了写了C嗐

  2. 做简单判断的时候可以把if代码块改成三目运算符“ 判断式? 为真时执行 : 为假时执行”。

  3. 最好不用同时在一个程序里同时使用cout和printf,有时候会出错。

  4. substr()用于截取某个字符串中的子串,比如

    string s1 = s.substr(4);	//从s[4]一直到s结束
    
    string s2 = s.substr(5, 3);	//从s[5]开始截取三个字符
    
  5. 不从键盘端输入的变量最好初始化一下。

  6. map键值对,每个键只出现一次(同一关键字),如map<string, int> m, 此时m.size()是关键字的个数,键用it->first获取、值用it->second获取。

  7. sort函数默认升序排序,cmp可以自行定义排序方式与sort一起使用。比如

    bool cmp(int a, int b) {
         
    	return a > b;	//从小到大排序,注意cmp函数的返回类型
    }
    
    sort(v.begin(),  v.end(),  cmp); 	//与sort合用给vector v排序,begin()为数组头,end()为尾
    
    sort(a,  a + n,  cmp);		//给数组元素排序,a表示数组a的首地址,a + n为第n个元素
    
  8. 如果要定义很大数组的时候最好在main函数外面进行定义(因为作为局部变量储存在堆栈段,太大会导致栈溢出结果…可恶的段错误。(同时函数执行完毕的时候它的局部变量空间会被释放,无法再使用它的值。

  9. 判断是否素数

    //n太大的时候不要用
    bool isprime(int n) {
         
        if(n <= 1) return flase;
        for(int i = 2; i * i <= n; i++)
            if (n % i == 0) return false;
        return true;
    }
    
    //啥时候都能用
    bool isprime(int n) {
         
        if (n <= 1) return false;	//特判
        int sqr = (int)sqrt(1.0 * n);	//根号n
        for (int i = 2; i <= sqr; i++)	//遍历2~根号n
            if (n % i == 0) return false;	//n不是素数
        return true;	//n是素数
    }
    
  10. C++万能头文件:#include<bi

  • 9
    点赞
  • 88
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值