数字金字塔(for循环详细解释)

您所在的位置:网站首页 C语言输出数字金字塔 数字金字塔(for循环详细解释)

数字金字塔(for循环详细解释)

2023-12-16 01:31| 来源: 网络整理| 查看: 265

**

数字金字塔

** 开始对多层for循环很绕,这里详细解释每层每个for循环所代表的意义以帮助理解,这个题目是PAT里面的基础练习题,像这样多层for循环嵌套只有多做这类题,下次看到类似的题对多层for的临界值(for循环中跳出循环的条件)才会更敏感,然而在多层for循环里面最难以理解的就是临界值

下面上题目====================================================

本题要求实现函数输出n行数字金字塔。

函数接口定义:

void pyramid(int n);

其中n是用户传入的参数,为[1,9]的正整数。要求函数按照如样例所示的格式打印出n行数字金字塔。注意每个数字后面跟一个空格。

裁判测试程序样例:

#include void pyramid(int n); int main() { int n; scanf("%d",&n); pyramid(n); retrun 0; }

输入样例:

5

输出样例:

在这里插入图片描述

下面为完整参考代码

#include void pyramid(int n); void pyramid(int n) { int i,j,space; for(i=1; i printf(" "); } for(int k=0; k int n; scanf("%d",&n); pyramid(n); return 0; }

上述代码中,第一层for应该都能理解,即输入数的大小,也即一共有多少个数,space表示在某行中该数字i与边界的距离即边距,随着i的增大边距渐渐缩小(space = n - i),第三个for中k的临界值是i即k表示的是i的个数(k=5时,5个5,k = 4时4个4…) ,还有需要注意的是里面的两个for是并列关系,即先确定该行的边距,然后再根据i确定该行数的个数。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3