输入层数打印金字塔
来源:互联网 发布:ae软件下载 编辑:程序博客网 时间:2024/05/17 13:12
#include<stdio.h>int main(){ int i,j,n; printf("请输入金字塔的层数:\n"); scanf("%d",&n); for(i=1;i<=n;i++) { for(j=1;j<=n-i;j++) printf(" "); for(j=1;j<=2*i-1;j++) printf("%d",i); printf("\n"); } return 0;}
控制主要集中在for(i=1;i<=n;i++) { for(j=1;j<=n-i;j++) printf(" "); for(j=1;j<=2*i-1;j++) printf("%d",i); printf("\n"); }这是嵌套循环,变量i控制外层循环次数,变量j负责内层,并且按照逻辑顺序执行所以可以复用,无需担心他的互斥性质。变量j控制的循环一共2种,第一种是打印改行的空格符。第二种是打印该行的行号。变量i控制的循环配合内部的printf("\n");则会进行换行。printf("\n");执行完毕的下一句也就是i++,则行号也会加1。
#include<stdio.h>int main(){int i,j,k=1,temp;printf("输入金字塔层数:");scanf("%d",&temp);if(temp>10){printf("input wrong");}printf("\n");for(i=1;i<=temp;i++){k=1;for(j=1;j<=temp-i;j++)printf(" ");for(;j<=temp;j++)printf("%d",k++);for(k=k-2;k>=1;k--)printf("%d",k);printf("\n");}return 1;}
#include <stdio.h>int main(){int n;int i,j;printf("输入金字塔层数:"); scanf("%d",&n);for(i=1;i<=n;i++) //for控制层数,有n层。每一层包含3个for。i代表层数{for(j=0;j<n-i;j++) //for控制每层空格的数量,第一层n-1个,第二层n-2个。。。注意:每层printf(" ");for(j=1;j<=i;j++) //for控制每层都是从1递增到层数,第一层从1~1,第二层从1~2.... 递增printf(" %d", j);for(j=i-1;j>=1;--j) //for控制每层从 层数-1 到1,第一层0个,第二层从1~1,第三层从2~1...... 递减printf(" %d", j);printf("\n"); //总结:i控制层数,第一层先遇到第一个for,输出n-1个空格,然后遇到第二个for 输出1~1(1个),第三个for为0-1为假,跳过这个for。 第二层第一个for,输出n-2个空格,以此类推。 只要理解每层都是由3部分构成即可(空格、递增、递减),输出3部分后 然后在printf(“\n”)回车到下一层。}return 0;}
0 0
- 输入层数打印金字塔
- 打印金字塔
- 金字塔打印
- 打印金字塔
- 打印*金字塔
- 打印: 金字塔
- 打印金字塔
- 打印金字塔
- 打印金字塔
- C++打印数字金字塔
- 打印金字塔代码
- 打印出金字塔形状
- 打印数字金字塔
- php实例:打印金字塔
- 16. 打印金字塔
- 打印金字塔数字
- 打印图形 鸟瞰金字塔
- 打印多层金字塔
- TouchID的使用
- 网站网页栅格化
- 如何在自己新建的网页上加上图标 .ico文件
- 移动开发_iOS开发之@(),@[],@{}_软件世界网
- 僵尸进程与孤儿进程学习
- 输入层数打印金字塔
- 抢票助手-for 12306买火车票.订票助手.高铁.动车.春运.车票管家.自动刷票.列车时刻表
- 转技巧
- HBase源码解析(一) HMaster启动流程
- 第13周项目 5.1 字符串操作
- SymmetricDS文档翻译--【Chapter 2. 配置(Setup)】
- 0101 什么是java future模式【转载】
- ch8.文件上传
- 恩布企业 IM 安卓端 1.1 发布,全新UI界面