📝 核心代码模板速查
模板1:找m的倍数
for (int i = 1; i <= n; i++) {
if (i % m == 0) { // ★ 是m的倍数
cout << i << endl;
}
}
模板2:公因数之和
int sum = 0;
for (int i = 1; i <= a; i++) {
if (a % i == 0 && b % i == 0) { // ★ 同时整除
sum += i;
}
}
模板3:最大跨度值
int maxV = 0, minV = 1000;
for (int i = 0; i < n; i++) {
cin >> a[i];
if (a[i] > maxV) maxV = a[i]; // ★ 更新最大
if (a[i] < minV) minV = a[i]; // ★ 更新最小
}
cout << maxV - minV << endl;
⚠️ 阶段测试高频易错点
① 数组最大下标:int a[100] 的最大下标是99,不是100!C++数组永远从0开始。
② for循环边界:输出1到100必须写 i <= 100,写 i < 100 会漏掉100。
③ 凯撒密码数字取模:数字0~9共10个,加密公式用 %10,不是 %26(那是字母用的)。
④ int数组不能整体输入:cin >> 变量名; 对字符数组s可以,对int数组a不行!
⑤ 判断倍数用==:i % m == 0 是判断,一个等号=是赋值,别搞混!
⑥ 公因数要两个都整除:a%i==0 && b%i==0,两个条件缺一不可。
⑦ max/min初始值:找最大不能初始化为0(可能全是负数),找最小不能初始化为太大。