信奥AC之路-第一级-A学段
-
第一课 开发环境与基础输出4 主题|小节
-
第二课 算数运算符6 主题|小节
-
第三课 输入与运算3 主题|小节
-
第四课 数值操作4 主题|小节
-
第五课 表达式与运算符3 主题|小节
-
第六课 三目运算与双分支(缺导语+本课目标)2 主题|小节
-
第七课 多分支结构(缺导语+本课目标)1 主题|小节
-
第八课 多if语句1 主题|小节
-
第九课 三种分支结构的比较1 主题|小节
-
第十课 巩固学习分支结构1 主题|小节
-
第十一课 switch与复合语句3 主题|小节
-
第十二课 while循环2 主题|小节
-
第十三课 while循环的简单条件输出1 主题|小节
-
第十四课 while循环的输入序列处理1 主题|小节
-
第十五课 while循环的复杂条件输出2 主题|小节
-
第十六课 while循环与数据统计1 主题|小节
-
第十七课 for循环结构3 主题|小节
-
第十八课 for循环的输入序列处理)1 主题|小节
-
第十九课 深入探索for循环2 主题|小节
-
第二十课 三种循环的对比2 主题|小节
-
第二十一课 程序调试(一)3 主题|小节
-
第二十二课 调试工具的使用2 主题|小节
-
第二十三课 综合复习2 主题|小节
-
第二十四课 学习评估1 主题|小节
“小朋友们,现在我们来挑战一些更有趣的问题!”
🔬 **实验42:区间内特殊数的统计**
“`
描述:
在m到n之间,找出所有能同时被3和5整除的数。
输入:
两个正整数m和n(m < n)
输出:
1. 所有满足条件的数
2. 这样的数有多少个
样例输入:
1 30
样例输出:
能同时被3和5整除的数有:15 30
共找到2个数
解题思路:
1. 用for循环遍历m到n
2. 用两个条件判断是否同时满足:
- 能被3整除:i % 3 == 0
- 能被5整除:i % 5 == 0
3. 用计数器记录满足条件的数的个数
```
```cpp
#include
using namespace std;
int main() {
int m, n;
cout << "请输入两个数m和n(m < n):";
cin >> m >> n;
int count = 0;
cout << "能同时被3和5整除的数有:";
for(int i = m; i <= n; i++) {
if(i % 3 == 0 && i % 5 == 0) { // 判断是否同时满足条件
cout << i << " "; // 输出满足条件的数
count++; // 计数器加1
}
}
cout << "\n共找到" << count << "个数" << endl;
return 0;
}
```
🔬 **实验43:数字特征分析**
```
描述:
统计一个正整数中包含多少个指定的数字。
输入:
1. 一个正整数num
2. 要统计的数字digit(0-9之间)
输出:
这个数字在该正整数中出现的次数
样例输入:
11325
1
样例输出:
数字1出现了2次
解题思路:
1. 不断取出数字的个位(用%10)
2. 判断个位是否是要找的数字
3. 去掉个位(用/10)
4. 重复以上步骤直到数字变为0
```
```cpp
#include
using namespace std;
int main() {
int num, digit;
cout << "请输入一个正整数:";
cin >> num;
cout << "请输入要统计的数字(0-9):";
cin >> digit;
int count = 0;
int temp = num; // 用临时变量存储原始数字
for(; temp > 0; temp /= 10) { // 注意这里for循环的特殊写法
if(temp % 10 == digit) { // 判断个位是否是要统计的数字
count++;
}
}
cout << "数字" << digit << "出现了" << count << "次" << endl;
return 0;
}
```
"看到了吗?for循环的三个部分都不是必需的。在上面的例子中,我们省略了初始化部分,因为temp已经在循环外初始化了。"
🔬 **实验44:完美数判断**
```
描述:
判断一个数是否是完美数(等于除自身外所有因数的和)。
例如:6 = 1 + 2 + 3,6就是一个完美数。
输入:
一个正整数n
输出:
是否为完美数,如果是,输出所有因数
样例输入:
6
样例输出:
6的因数有:1 2 3
6是完美数!
解题思路:
1. 用for循环找出所有因数
2. 累加除了自身外的所有因数
3. 判断因数和是否等于原数
```
```cpp
#include
using namespace std;
int main() {
int n;
cout << "请输入一个正整数:";
cin >> n;
int sum = 0;
cout << n << "的因数有:";
for(int i = 1; i < n; i++) { // 遍历可能的因数
if(n % i == 0) { // 判断是否为因数
cout << i << " "; // 输出因数
sum += i; // 累加因数
}
}
cout << endl;
if(sum == n) { // 判断是否为完美数
cout << n << "是完美数!" << endl;
} else {
cout << n << "不是完美数。" << endl;
}
return 0;
}
```