刷题小tips
自从认真做题以后,结合自己的做题体验以及网上前人的总结经验贴,罗列下列的小建议:
1.为了避免每一次都要重复输入测试数据的麻烦,利用输入重定向文件
我是只把标准输入stdin重定位到in.txt,然后标准输出stdout依旧是输出到屏幕
所以就加了#include<stdio.h> freopen("in.txt","r",stdin); fclose(stdin);
当要提交的时候记得把首尾加的这两行代码注释掉或者删掉!!
这里顺便提一下我的傻吊经历,我一开始在路径下建了一个叫in.txt的文件,结果发现输入根本没有效果,最后发现是这一台电脑的文件名显示效果坑了我一把
这是一台电脑根本不显示后缀,就是我命名为in.txt的文件他的完全名是in.txt.txt,所以当我把名字改回in后就正常了
2.使用scanf,printf会快一点,数据量大时用cout,cin会慢一点点,虽然大多数时候都是没有什么讲究的,我本人一直以来也更喜欢简洁的cout、cin,但是多学一点也没有什么坏处
scanf的时候如果不是数组类型的话,变量名前不要忘记加&,不然有可能就是segment fault
3.如果申请的是数组的话,申请空间最好比要求的大一点,特别是如果是字符串类型的话char a[n],n一定要比读取的空间大1,要给末尾'/0'预留位置
4.!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!如果在代码里面把标准输出输入流重定向了,在最后一定一定要把那两行代码删掉,不要像我一样没删掉,然后出现段错误,还花了好长时间检查是不是数组越界,scanf是不是少写&,痛心疾首!!!!!!!!!!!!!!
5.还是在循环的时候,那些数量之间的关系要理清楚,特别是什么0开始还是1开始
6.结构体内部数据是没有初始化的,可能会出现一堆垃圾数据(像下图一样),所以尽量还是要自己初始化一下
使用struct的构造函数来初始化,用memset(object,0,sizeof(object))
7.string末尾追加字符
str+='c'; str=str+'c'; str=""+'c';
8.0==false 非0(包含负数)==true
9.使用<algorithm>中的fill(a.begin(),a.end(),value)可以避开memset的按照字节初始化方式,直接进行对象级别(如容器)的初始化
刷题小tips的更多相关文章
- 超星尔雅看课刷题小tips
用chrom浏览器,先安装扩展程序Tampermonkey BETA 然后进入> https://greasyfork.org/zh-CN 找一款适合自己的脚本安装即可刷课.
- 为了考PMP,我做了一个刷题小程序
一.背景 1.我是一名软件工程师,技术出身,担任开发组长,对项目管理不是很熟,所以决定系统学习下项目管理. 2.全球最适合的项目管理学习课程就是PMP,每年有4次PMP考试,证书还是很有含金量的. 3 ...
- ACM 刷题小技巧【转】
转载自URl-team ACM做题过程中的一些小技巧. 1.一般用C语言节约空间,要用C++库函数或STL时才用C++; cout.cin和printf.scanf最好不要混用. 大数据输入输出时最好 ...
- noip2012~2015刷题小记录
2012d1t1 密码 模拟题 #include<cstdio> #include<cstdlib> #include<cstring> #include<c ...
- 2021最新 Spring面试题精选(附刷题小程序)
推荐使用小程序阅读 为了能让您更加方便的阅读 本文所有的面试题目均已整理至小程序<面试手册> 可以通过微信扫描(或长按)下图的二维码享受更好的阅读体验! 目录 推荐使用小程序阅读 1. S ...
- LeetCode刷题笔记和想法(C++)
主要用于记录在LeetCode刷题的过程中学习到的一些思想和自己的想法,希望通过leetcode提升自己的编程素养 :p 高效leetcode刷题小诀窍(这只是目前对我自己而言的小方法,之后会根据自己 ...
- 【刷题】BZOJ 4316 小C的独立集
Description 图论小王子小C经常虐菜,特别是在图论方面,经常把小D虐得很惨很惨. 这不,小C让小D去求一个无向图的最大独立集,通俗地讲就是:在无向图中选出若干个点,这些点互相没有边连接,并使 ...
- leetcode 刷题记录(java)-持续更新
最新更新时间 11:22:29 8. String to Integer (atoi) public static int myAtoi(String str) { // 1字符串非空判断 " ...
- 刷题[CISCN2019 总决赛 Day2 Web1]Easyweb
解题思路 打开网页是这样一个登陆框,随机试了一下常见弱密钥,二次注入等.均是返回不同的猫咪图案 不同的id对应不同的猫咪图案.经测试,返回的id应该是无序,随机的.感觉这里有可能存在注入点,但是测试好 ...
随机推荐
- vue-cli3 按需加载loading,服务的方式调用
安装 babel-plugin-component npm install babel-plugin-component -S 安装element-ui npm install element-ui ...
- mysql 中不等于过滤 null 的问题(同时比较等于,大于和小于)
在写 SQL 条件语句是经常用到 不等于'!='的筛选条件,此时要注意此条件会将字段为 null 的数据也当做满足不等于的条件而将数据筛选掉. 1.原始数据和表结构 CREATE TABLE `tes ...
- js 判断字符串是否为JSON格式
function isJSON(str) { if (typeof str == 'string') { try { var obj=JSON.parse(str); if(typeof obj == ...
- mousedown、mouseup、click事件之间的关系及执行顺序
三个事件的触发时机 mousedown 当鼠标指针移动到元素上方,并按下鼠标按键(左.右键均可)时,会发生 mousedown 事件.与 click 事件不同,mousedown 事件仅需要按键被 ...
- mysql备份时过滤掉某些库 以及 去掉"Warning: Using a password on the command line interface can be insecure."提示信息
在对mysql进行完整备份时使用--all-database参数 # mysqldump -u root -h localhost -p --all-database > /root/all.s ...
- php面向对象(文件操作)
文件操作 1.只能操作服务器的文件 2.文件包含目录和文件 判断文件类型 var_dump(filetype("../0529")); //返回文件的类型:目录dir 文件file ...
- mac install azure-cli
安装 CLI 时,可以先更新 brew 存储库信息,然后运行 install 命令: brew update && brew install azure-cli 更新: brew up ...
- Spring @Transactional 事务机制
几个概念要清楚:事务的传播机制,事务的边界 工作原理 运行配置@Transactional注解的测试类的时候,具体会发生如下步骤 1)事务开始时,通过AOP机制,生成一个代理connection对象, ...
- javascript常用小案例
常用javascript小案例 样式调节 //注: 这个可以控制td中的字段成行显示 #modelInfos td,th { white-space: nowrap; } //文本输入框随着内容尺寸往 ...
- Python socket编程 (2)--实现文件验证登入
可以实现从客户端输入账号和密码然后发送到服务器进行验证,实现用户登入校正操作. 服务器: import socket import json server = socket.socket() serv ...