返回 课程

信奥AC之路-第一级-A学段

0% 完成
0/0 步骤
  1. 第一课 开发环境与基础输出
    4 主题|小节
  2. 第二课 算数运算符
    6 主题|小节
  3. 第三课 输入与运算
    3 主题|小节
  4. 第四课 数值操作
    4 主题|小节
  5. 第五课 表达式与运算符
    3 主题|小节
  6. 第六课 三目运算与双分支(缺导语+本课目标)
    2 主题|小节
  7. 第七课 多分支结构(缺导语+本课目标)
    1 主题|小节
  8. 第八课 多if语句
    1 主题|小节
  9. 第九课 三种分支结构的比较
    1 主题|小节
  10. 第十课 巩固学习分支结构
    1 主题|小节
  11. 第十一课 switch与复合语句
    3 主题|小节
  12. 第十二课 while循环
    2 主题|小节
  13. 第十三课 while循环的简单条件输出
    1 主题|小节
  14. 第十四课 while循环的输入序列处理
    1 主题|小节
  15. 第十五课 while循环的复杂条件输出
    2 主题|小节
  16. 第十六课 while循环与数据统计
    1 主题|小节
  17. 第十七课 for循环结构
    3 主题|小节
  18. 第十八课 for循环的输入序列处理)
    1 主题|小节
  19. 第十九课 深入探索for循环
    2 主题|小节
  20. 第二十课 三种循环的对比
    2 主题|小节
  21. 第二十一课 程序调试(一)
    3 主题|小节
  22. 第二十二课 调试工具的使用
    2 主题|小节
  23. 第二十三课 综合复习
    2 主题|小节
  24. 第二十四课 学习评估
    1 主题|小节
课 18, 主题|小节 1
进行中

18 for循环的输入序列处理

2025年4月20日
课 进展
0% 完成

“小朋友们,我们已经学会了用while循环处理输入序列,现在让我们看看用for循环如何完成同样的任务!”

🔬 **实验36:奇偶数统计与求和(for版)**

“`
描述:
用for循环统计一组数中奇数和偶数的情况。

输入:
第一行输入一个正整数n,表示要输入的数的个数
接下来n行,每行一个整数

输出:
奇数和偶数的个数及它们的和

样例输入:
5
1
2
3
4
5

样例输出:
奇数有3个,和是9
偶数有2个,和是6

解题思路:
1. 用for循环控制输入次数
2. 用四个变量记录统计结果:
– 奇数计数和求和
– 偶数计数和求和
“`

“`cpp
#include
using namespace std;

int main() {
int n;
cout << "请输入要处理的数字个数:"; cin >> n;

int odd_count = 0, even_count = 0;
int odd_sum = 0, even_sum = 0;

for(int i = 0; i < n; i++) { int num; cout << "请输入第" << i+1 << "个数:"; cin >> num;

if(num % 2 == 0) { // 偶数
even_count++;
even_sum += num;
} else { // 奇数
odd_count++;
odd_sum += num;
}
}

cout << "奇数有" << odd_count << "个,和是" << odd_sum << endl; cout << "偶数有" << even_count << "个,和是" << even_sum << endl; return 0; } ``` 🔬 **实验37:特殊倍数统计(for版)** ``` 描述: 用for循环统计一组数中是8的倍数但不是9的倍数的数的个数。 输入: 第一行输入一个正整数n 接下来n行,每行一个整数 输出: 符合条件的数的个数 样例输入: 5 8 16 24 27 32 样例输出: 符合条件的数有:8 16 32 共3个数 解题思路: 1. 用for循环控制输入次数 2. 判断每个输入的数是否: - 能被8整除 - 不能被9整除 ``` ```cpp #include
using namespace std;

int main() {
int n;
cout << "请输入要处理的数字个数:"; cin >> n;

int count = 0;
cout << "符合条件的数有:"; for(int i = 0; i < n; i++) { int num; cout << "请输入第" << i+1 << "个数:"; cin >> num;

if(num % 8 == 0 && num % 9 != 0) {
cout << num << " "; count++; } } cout << "\n共" << count << "个数" << endl; return 0; } ``` 🔬 **实验38:数字查找(for版)** ``` 描述: 用for循环在一组数中查找指定数字m出现的次数。 输入: 第一行输入两个正整数n和m,n表示要输入的数的个数,m表示要查找的数 接下来n行,每行一个整数 输出: 数字m出现的次数 样例输入: 6 3 1 3 3 2 3 4 样例输出: 数字3出现了3次 解题思路: 1. 用for循环控制输入次数 2. 用计数器记录m出现的次数 3. 每次输入后与m比较 ``` ```cpp #include
using namespace std;

int main() {
int n, m;
cout << "请输入要处理的数字个数和要查找的数:"; cin >> n >> m;

int count = 0;

for(int i = 0; i < n; i++) { int num; cout << "请输入第" << i+1 << "个数:"; cin >> num;

if(num == m) {
count++;
}
}

cout << "数字" << m << "出现了" << count << "次" << endl; return 0; } ``` 🔬 **实验39:平均值计算(for版)** ``` 描述: 用for循环计算一组数的平均值。 输入: 第一行输入一个正整数n 接下来n行,每行一个整数 输出: 这组数的平均值,保留两位小数 样例输入: 4 10 20 30 40 样例输出: 平均值是:25.00 解题思路: 1. 用for循环控制输入次数 2. 用sum累加所有输入的数 3. 最后计算平均值 ``` ```cpp #include
#include
using namespace std;

int main() {
int n;
cout << "请输入要处理的数字个数:"; cin >> n;

double sum = 0;

for(int i = 0; i < n; i++) { int num; cout << "请输入第" << i+1 << "个数:"; cin >> num;
sum += num;
}

cout << fixed << setprecision(2); cout << "平均值是:" << sum/n << endl; return 0; } ``` 🔬 **实验40:完全平方数统计(for版)** ``` 描述: 用for循环统计一组数中完全平方数的个数。 输入: 第一行输入一个正整数n 接下来n行,每行一个正整数 输出: 完全平方数的个数 样例输入: 5 4 7 9 10 16 样例输出: 完全平方数有:4 9 16 共3个数 解题思路: 1. 用for循环控制输入次数 2. 判断每个输入的数是否是完全平方数: - 计算平方根 - 判断平方根的平方是否等于原数 ``` ```cpp #include
#include
using namespace std;

int main() {
int n;
cout << "请输入要处理的数字个数:"; cin >> n;

int count = 0;
cout << "完全平方数有:"; for(int i = 0; i < n; i++) { int num; cout << "请输入第" << i+1 << "个数:"; cin >> num;

int root = sqrt(num);
if(root * root == num) {
cout << num << " "; count++; } } cout << "\n共" << count << "个数" << endl; return 0; } ``` 🔬 **实验41:立方数统计(for版)** ``` 描述: 用for循环统计一组数中立方数的个数。 输入: 第一行输入一个正整数n 接下来n行,每行一个正整数 输出: 立方数的个数 样例输入: 5 8 10 27 30 64 样例输出: 立方数有:8 27 64 共3个数 解题思路: 1. 用for循环控制输入次数 2. 判断每个输入的数是否是立方数: - 计算立方根 - 判断立方根的立方是否等于原数 ``` ```cpp #include
#include
using namespace std;

int main() {
int n;
cout << "请输入要处理的数字个数:"; cin >> n;

int count = 0;
cout << "立方数有:"; for(int i = 0; i < n; i++) { int num; cout << "请输入第" << i+1 << "个数:"; cin >> num;

int root = round(cbrt(num));
if(root * root * root == num) {
cout << num << " "; count++; } } cout << "\n共" << count << "个数" << endl; return 0; } ```