【记录贴】ACM入门day2

洛谷【入门2】分支结构

题目:P5710 【深基3.例2】数的性质

总结:

cout<<false||true 结果为什么是0?

( (cout << false) || true ); // 第一步会计算 (cout << false) 即输出false/0。 同时这个表达式会返回 cout // | // V // 第二步会计算 (cout || true); 。该表达式 会返回true。(其实可能 会先调用 cout 的转到bool类型的转换函数 或 其他 运算符重载函数)

题目:P5711 【深基3.例3】闰年判断

总结:判断闰年方法:是4的倍数但不是100的倍数,或者是400的倍数。

题目:P5712 【深基3.例4】Apples

总结:三目运算符——表达式 ? 表达式 : 表达式 ;

题目:P5713 【深基3.例5】洛谷团队系统

总结:无

题目:P5714 【深基3.例7】肥胖问题

总结:求x的n次方的函数——power(double x, int n)

题目:P5715 【深基3.例8】三位数排序

总结:

sort()排序函数

sort (first, last)对容器或普通数组中 [first, last) 范围内的元素进行排序,默认进行升序排序。

swap()交换函数

swap (x, y)交换实参x,y的变量值。

题目:P5716 【深基3.例9】月份天数

总结:数据少时可以建数组打表

题目:P1085 [NOIP2004 普及组] 不高兴的津津

总结:求一个最大值用一个max变量更新即可

题目:P1909 [NOIP2016 普及组] 买铅笔

总结:用max和min函数可以简化更新最值的操作

题目:P1055 [NOIP2008 普及组] ISBN 号码

总结:

string支持下标操作[]

  • string类型可直接使用 length() 方法计算字符串长度;
  • string 类的 assign 成员函数,可以用来对 string 对象赋值。assign 成员函数返回对象自身的引用。
string s1("12345"), s2;
s3.assign(s1);  // s3 = s1
s2.assign(s1, 1, 2);  // s2 = "23",即 s1 的子串(1, 2)
s2.assign(4, 'K');  // s2 = "KKKK"
s2.assign("abcde", 2, 3);  // s2 = "cde",即 "abcde" 的子串(2, 3)
  • string类型可使用 compare(const string& str) 方法进行字符串比较

        除了可以用 <、<=、==、!=、>=、> 运算符比较 string 对象外,string 类还有 compare 成员函数,可用于比较字符串。compare 成员函数有以下返回值:     

        小于 0 表示当前的字符串小;

        等于 0 表示两个字符串相等;

        大于 0 表示另一个字符串小。

string s1("hello"), s2("hello, world");
int n = s1.compare(s2);
n = s1.compare(1, 2, s2, 0, 3);  //比较s1的子串 (1,2) 和s2的子串 (0,3)
n = s1.compare(0, 2, s2);  // 比较s1的子串 (0,2) 和 s2
n = s1.compare("Hello");
n = s1.compare(1, 2, "Hello");  //比较 s1 的子串(1,2)和"Hello”
n = s1.compare(1, 2, "Hello", 1, 2);  //比较 s1 的子串(1,2)和 "Hello" 的子串(1,2)
  • string类型可使用 find方法,在字符串中检索自字符串是否存在。
  • 求string对象的子串可以用 substr 成员函数可以用于求子串 (n, m)
string s1 = "this is ok";
string s2 = s1.substr(2, 4);  // s2 = "is i"
s2 = s1.substr(2);  // s2 = "is is ok"
  • string中字符串的连接除了可以使用++=运算符对 string 对象执行字符串的连接操作外,string 类还有 append 成员函数,可以用来向字符串后面添加内容。
string s1("123"), s2("abc");
s1.append(s2);  // s1 = "123abc"
s1.append(s2, 1, 2);  // s1 = "123abcbc"
s1.append(3, 'K');  // s1 = "123abcbcKKK"
s1.append("ABCDE", 2, 3);  // s1 = "123abcbcKKKCDE",添加 "ABCDE" 的子串(2, 3)

仔细!仔细!仔细!中间改了一个变量就要检查后面的所有代码!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值