计算两点间距离
float dist(point& a, point& b){
double x = a.x - b.x;
double y = a.y - b.y;
return static_cast<float>(sqrt(x * x + y * y));
友元函数
void setweigth(persion &pn,int w)
{
strcpy(pn.name,pn);//实现字符串复制
pn.weigth=w; //私有成员数据赋值
}
ab数组倒着赋值
for (int i = 0; i < 10; i++)
{
a[i] = i * 2 - 1;//从a[0]到a[9]依次赋值
b[10 - i - 1] = a[i];//从b[9]到b[0]依次赋值
}
Fibonacci数列之数组版
for (int i = 2; i < 20; i++)//∵要从2号(第三个)开始算,通过n-1、n-2计算值
{
f[i] = f[i - 2] + f[i - 1];//公式实现
}
每输出 五个换行-循环/设置输出宽度
for (int i = 0; i < 20; i++)//要实现每五个换行,依靠循环
{
if (i % 5 == 0)//注意没有else,顺着往下走程序
cout << endl;
cout.width(5);//设置输出宽度为5
cout << f[i];//按顺序输出数组
}
strcpy()函数 :复制字符串的库函数
分别取整数和小数部分
void splitfloat(float x, int* intpart, float* fracpart) {//指针做形参,是函数体内要处理的两个量
*intpart = static_cast<int>(x);//强制转换,将小数x转成整数,自动丢掉小数部分
*fracpart = x - *intpart;//小数部分=x-整数部分
}
输入三个整数,每输入一个执行一次动作
for (int i = 0; i < 3; i++)
{
float x ;//将x声明在循环内,每次x都有不同的值
cin >> x;
取所占字节数
- sizeof(数据类型)
此运算符功能:返回值就是该数据类型所占的字节数。 - sizeof(变量名/数组)
此运算符功能:返回值就是该变量/数组所占的字节数。
选择排序&升序降序
void selectionsort(int work[], const int size, bool(*compare)(int,int)) {//*compare是bool类型
int smallestorlargest;
for (int i = 0; i < size-1; i++)
{
smallestorlargest = i;
for (int index = i + 1; index < size; index++)
if ((*compare)(work[smallestorlargest], work[index])==0)
smallestorlargest = index;
swap(&work[i], &work[smallestorlargest]);//因为形参为指针,实参要为地址
}
}
bool ascending(int a, int b) {//升序排序,判断a<b?
return a < b;//a<b则返回1
}
bool descending(int a, int b) {//即使a<b,降序时返回成a>b使得降序排序
return a > b;//666
}
getline输入函数
getline(cin, city, ',');//第三个参数是设定的间隔符
输入;
Beijing,China
输出:
City:Beijing State:China
cin.ignore()
-
它的一个常用功能就是用来清除以回车结束的输入缓冲区的内容,消除上一次输入对下一次输入的影响。例如可以这么用,cin.ignore(1024, '\n'),通常把第一个参数设置得足够大,这样实际上是为了只有第二个参数 '\n' 起作用,所以这一句就是把回车(包括回车)之前的所以字符从输入缓冲流中清除出去。
返回字符串中的字符数
size()
length()