1

root 站长 2024-07-19 15:40:28 2024-07-19 16:18:13 5
printf("%.nlf", a); 保留n位小数
除法: 左右两边的数字至少有一个
是浮点数,结果才是浮点数。其他的
结果都是整数。
ex: 
2/4=0, 2/4.0=0.5,
2.0/4=0.5,2.0/4.0=0.5

c++判断等于 ==, 赋值符号 =

求三个数的最大值 max(a, max(b,c))
求三个数的最小值 min(a, min(b,c))

char 单个字符, 用单引号括起来 '', char c = 'a';
string 字符串,多个字符,用双引号括起来 "" , string s = "abc";

求余数: 已知x秒,求小时 x / 3600, 求分钟 x%3600/60,求秒数 m%3600%60

循环: 
for (int i = 1; i <= n; i ++)    //1 - n, 步长1
for (int i = n; i >= 1; i --)     //n - 1,步长-1
break 结束循环, continue 继续循环, return 0; 结束程序(大跳)
if 条件判断,只执行一次
while 条件循环,执行多次,直到条件成立
枚举: 确认要枚举的元素,确认每个元素的枚举范围,确保不超时。
          写出符合题意得条件,筛选出正确得答案。
//整数反转算法,负数也适用
int ans = 0;
while (n != 0)
	{
		ans = ans * 10 +  n % 10;
		n /= 10;
	}

//最大公约数
        r = a % b;
	while (r != 0)
	{
		a = b;
		b = r;
		r = a % b;
	}

一维数组:
int a[5]; //定义里面都是整形变量的数组 a
其中,a是一维数组的数组名,该数组有5个元素,依次表示为:
a[0],a[1],a[2],a[3],a[4] //引用数组元素
注意:a[5]不属于该数组的空间范围。严禁下标越界!!!
但是由于习惯问题,一般我们会从1号元素开始使用,所以一般我们定义数组时会比范围稍微大一些。
一维数组输入:
for (int i = 1; i <= n; i ++)
    cin >> a[i];

二维数组:
维数组就是用一个名字后面跟着两个数字,分别表示数组的行和列。二维数组就是一个矩阵——长方形方阵,有行有列。
定义:
数据类型  数组名[常量表达式1] [常量表达式2]
例如:int a[5][9]; //定义一个5行9列的二维整型数组a
如果需要使用二维数组中的某个元素,就需要找到具体位置:
<数组名>[行下标][列下标]
如:a[1][2]
表示二维数组a中的第2行第3列元素。
注意事项:
和一维数组一样,行下标和列下标都是从0开始编号的。
每个下标表达式取值不应超出下标所指定的范围。
例如,设有定义:int a[2][3];则表示a是2行3列的二维数组,共有2*3=6个元素,它们是:
a[0][0] a[0][1] a[0][2]
a[1][0] a[1][1] a[1][2]
因此可以看成一个矩阵(表格),a[1][2]即表示第2行第3列的元素,而a[2][3]就已经越界了。

二维数组输入:
int  a[10][10];  //定义一个10行10列的二维数组 a
for(int i=1;i<=3;i++)  //控制行下标
{
    for(int j=1;j<=4;j++)   //控制列下标
     cin>>a[i][j];
} 
 
{{ vote && vote.total.up }}