OJ刷题总结

本文总结了OJ刷题过程中常见的C++编程技巧,包括字符串长度设定、取模运算优化、数据类型的选取、字符串读入与判断、链表处理、相等赋值、vector比较、重名变量避坑、多轮输入处理、字符串与数字映射、数组赋值以及废弃的gets函数替代方案等关键点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、设定字符串长度时要比规定长度至少大1
不能说字符串最大长度10000,然后你就设定char str[10000],因为字符串的最后一位是’\0’,所以必须给’\0’留位置。
2、取模运算
(a+b)%e = (a%e+b)%e
(a+b+c)%e =( (a%e+b)%e+c)%e
避免数字加和过大,可以在计算中途就进行取模运算
3、看题目输入数据的范围来定义数据类型
如果输入数据的范围很大,那可能数据使用字符串存储,不大的话(109、232)用int,稍微大一些(1018、264)以内用long long。
4、读入字符串
读入字符串时只有gets会读入空格,遇到换行符终止,其他(scanf,cin等)都不会读入空格
5、 判断字符串
判断读入的字符数组是否是‘0’:
错误写法:str==“0”
正确写法:strcmp(str,“0”)==0
(判断字符是否等于’0’是可以用等号直接判断的,判断字符串的话不可以)
(strcmp函数在<string.h>头文件里,如果两个字符串相等,返回0,否则返回正整数或者负整数)
(C++的string类型是

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值