C转C++,有许多值得记录的小tips
浮点数四舍五入
方法一:正数+0.5(负数-0.5)后强制类型转换
if(d > 0)
cout<<(int)(d+0.5);
else cout<<(int)(d-0.5);
方法二:分正负讨论
int tmp = d;
if(d < 0)
{
if( d - 0.5 <= tmp - 1) cout << tmp - 1 << endl;
else cout<< tmp << endl;
}
else
{
if(d + 0.5 >= tmp + 1) cout << tmp + 1 << endl;
else cout<< tmp << endl;
}
定义变量
求两数之和不需要int c = a + b;
多定义一个变量
获取两数最大值
利用三元运算符a > b ? a : b
获取三数最大值
三元运算符嵌套a > ( b > c ? b : c) ? a : ( b > c ? b : c) )
判断成绩等级
用switch的一种方法:用mod取十位数 然后判断
判断奇偶数
取mod
格式控制
cout<<fixed<<setprecision(i)<<sum<<endl;
迭代器
迭代器的*
用法类似于指针,但是不能用*(iterator+i)
这种指针的形式,iterator本身就可以加减