数字金字塔(for循环详细解释) |
您所在的位置:网站首页 › C语言输出数字金字塔 › 数字金字塔(for循环详细解释) |
** 数字金字塔** 开始对多层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 |