π的表示
#include <bits/stdc++.h>
using namespace std;
const double pi = acos(-1.0);
int main()
{
return 0 ;
}
system("pause");是干什么的?
在使用宇宙开发神器时,我们发现控制台在弹出后以极快的速度闪退,怎么办?
1. 一种办法:
在 return 0 之前添加 getchar();
2. 另一种办法:
在return 0之前添加 system("pause");
补充:如何使system("pause") 不弹出“按任意键继续”这几个字呢?
用system("pause>nul"):就可以了
两个区别:
system("pause") 是调用WINDOWS CONSOLE APP下的命令 PAUSE的。
system("const char*")就是调用WINDOWS CONSOLE APP下的命令。
比如system("exit");
system("ping 192.168.0.1")等等
而getchar()只是C标准库里等待一个字符的函数,两者区别很大。
交换两个数的变量(很少用初学者)
#include <bits/stdc++.h>
using namespace std;
int main()
{
int a , b ;
cin >> a >> b;
a = a + b;
b = a - b;
a = a - b;
cout <<"a = " << a << " b = " << b << endl;
return 0 ;
}
补充
算法竞赛是在比谁能更好地解决问题,而不是在比谁写的程序看上去更高
级
当时最怕写的三个数排序
#include <bits/stdc++.h>
using namespace std;
int main()
{
int a , b , c , t;
cin >> a >> b >> c;
if(a > b) {t = a ; a = b ; b = t; }// 保证 a<= b
if(a > c) {t = a ; a = c ; c = t; }// 保证 a<= c ,且 a<= b依然成立
if(b > c) {t = b ; b = c ; c = t; }
cout << a << " " << b<<" " <<c << endl;
return 0 ;
}
完全平方数的判定
int m = floor(sqrt(n)+0.5);
if(m * m==n)
return true;
补充 :
对含有小数点的数进行四舍五入是比较普遍的一种需求。在C++中也有类似的取整函数。在C++的头文件中有floor()和ceil()函数。在STL中还有round()函数。这三个函数的作用如下:
使用floor函数:floor(x)返回的是小于或等于x的最大整数。
如: floor(10.5) == 10 floor(-10.5) == -11
使用ceil函数:ceil(x)返回的是大于x的最小整数。
如: ceil(10.5) == 11 ceil(-10.5) ==-10
floor
朝负无穷方向取整,如floor(-1.3)=-2; floor(1.3)=1;
ceil
朝正无穷方向取整,如ceil(-1.3)=-1; ceil(1.3)=2;
round
四舍五入到最近的整数,如round(-1.3)=-1;round(-1.52)=-2;round(1.3)=1;round(1.52)=2
C++四舍五入
代码
#include <iostream>
using namespace std;
int round1(double number)
{
return (number>0.0)?(number+0.5):(number-0.5);
}
int取整与floor取整区别
同:两者都是向下取整,比如(int)1.9=1, floor(1,9)=1;
异:.严格来说int强制转换时向0取整,比如(int)-1.9=-1,而floor(-1,9)=-2;2.返回值类型不同
floor函数返回的值是浮点型 int返回整型
C++格式控制(小数点,宽度等)
刷题中经常会用到宽度,精度等,C++切换到C会很不专业
引用,不好记,多加练习
(2条消息) C++中如何控制输出格式_一步步走的博客-CSDN博客_c++输出格式控制
(2条消息) C++输出格式控制大全_爱吃的板栗.的博客-CSDN博客_c++% 格式控制
i++与++i 与数组的联用
n = 0, a[++n] = x, 这里的++n是先进行++ 然后赋值a【1】 = x
a[n++] = x,这个是先运行a[0] = x,然后再++.区别很明显