NOIP(CSP-J)信息学奥赛

    技术2024-11-08  6

    目录

    NOIP(CSP-J)信息学奥赛_普及组第十三课--嵌套循环-循环中的循环🔱先看一个案例二、 请写出如下程序的输出结果,深入理解嵌套循环 三、嵌套循环的基本结构:四、嵌套循环图形题五、常见的数值规律🧸课堂练习🧸课后习题

    NOIP(CSP-J)信息学奥赛_普及组第十三课–嵌套循环-循环中的循环

    🔱先看一个案例

    /* 1065: 【入门】字符图形1-星号矩形 时间限制: 1 Sec 内存限制: 16 MB 提交: 893 解决: 724 金币: 1 [提交][状态] 题目描述 打印字符图形。输出n行n列"*" 输入 一个整数 n(0 < n < 10) 输出 一个矩形字符图形 样例输入 3 样例输出 *** *** *** */ //思路:打印n行,每行打印n个星。 #include <iostream> using namespace std; int main()( //n代表总共有n行 int n,i,j; cin>>n; 〃循环产生n行 for(i = 1;i <= n;i++)( //循环产生一行的n个星 for(j = 1;j <= n;j++){ cout<<"*"; } //当第i行的n个星输出结束,补充输出换行符 cout<<endl; } }

    注意: (1) 通过逐步分析,理解程序运行、输出顺序 (2) 通过单步测试,理解程序运行、输出顺序

    二、 请写出如下程序的输出结果,深入理解嵌套循环

    1、 程序

    int i, n; n = 3; for (i = 1;i <= n;i++){ cout<<i; } cout<<endl; for(i = l;i <= n;i++){ cout<<i; } cout<<endl;

    注意:如果不是嵌套循环,而是2个平行的循环,是可以通过同名的变量来做循环的

    2、 程序

    int i, j, n; n=3; for (i = 1:i <= n;i++){ for (i = 1;i <= n;i++){ cout<<*; cout<<endl; }

    注意:如果是嵌套循环,不能外层循环和内层循环使用同一个变量名,会导致内层循环直 接修改外层循环的变量的值,从而达不到理想的循环数量。

    三、嵌套循环的基本结构:

    for (i初始值; i循环条件; i让循环停止的方法){ for (j初始值; j循环条件; j让循环停止的方法){ } **注意:外层循环用了 i,内层循环就要用j,目前来说不可能出现嵌套循环的情况下外层循 环和内层循环用同一个变量的情况! **

    四、嵌套循环图形题

    /*1422: 【入门】数字矩形(1) 题目描述 从键盘读入一个整数n,输出如下图形 如:n=3,输出 111 222 333 如:n = 5,输出 11111 22222 33333 44444 55555 输入 一个整数n(n<10) 输出 输出n行的图形 样例输入 3 样例输出 111 222 333*/ /* 1422:【入门】数字矩形(1) #include <iostream> using namespace std; int main(){ / * 思路:输出n行,每行n个数字 第1行是1,第2行是2 归纳得知:第i行是i */ int n,i,j;//n代表总行数 cin>>n; //循环产生n行 for(i = 1;i <= n;i++)( //嵌套循环产正第i行的n个数 for(j = 1;j <= n;j++){ cout<<i; } //第i行的数字输出结束,输出换行符 cout<<endl; } } */

    五、常见的数值规律

    问题:要学会如何通过循环变量i得到常见的数列! for(i = 1;i <= 5;i++) { cout« « ” 〃; 请问,上述空格填什么能够输出如下的各个数列! (1) 1 2 3 4 5 cout<<i<<〃 〃; (2) 2 4 6 8 10 cout<<2 * i<<〃 〃; (3) 1 3 5 7 9 cout<<2 * i - 〃; (4) 5 4 3 2 1 cout<<5-i+l<<〃 〃; (5) 9 7 5 3 1 cout<<(5-i+l)*2-l<<" ";

    🧸课堂练习

    1363,1066,1067,

    🧸课后习题

    常见的快捷键: Ctrl + a:全选 Ctrl + c:复制 Ctrl + v:粘贴 Ctrl + s:保存 Ctrl + z:撤销 Ctrl + y:重做 八、作业 1069:【入门】字符图形5-星号梯形 1073:【入门】沙漏 1230:【入门】蝴蝶结 1247:【入门】打印n行的完整的蝴蝶结 1246:【入门】请输出n行的9*9乘法表 1008:【入门】字符图形9-数字正三角 附加题: 1006:【入门】打印星号三角行 1239:【基础】挑战赛第二题一一放大的X 1353:【入门】轴对称三角形

    代码参考:https://github.com/huimutan/OI/tree/master/czos.cn

    Processed: 0.028, SQL: 9