当前位置: 首页 > news >正文

杨辉三角的打印

题目内容:

在屏幕上打印杨辉三角。

思路:

首先我们通过观察发现,每一步的打印都与行列数有关,中间的数据由这一列和上一行的前一列数据控制。所以我们可以使用二维数组进行操作:

(1)每一行的首元素都是1,第i行的第i个元素也是1:

int main()
{int arr[10][10] = { 0 };for (int i = 0; i < 10; i++){arr[i][0] = 1;for (int j = 0; j <= i;j++){if (i == j){arr[i][j] = 1;}}}for (int i = 0; i < 10; i++){for (int j = 0; j <=i; j++){printf("%d", arr[i][j]);}printf("\n");}return 0;
}

第一步就完成了。

(2)接下来要对中间的元素的值的规律观察,我们发现中间的数据由这一列和上一行的前一列数相加得出,比如3=1+2;2=1+1;...:

#include<stdio.h>int main()
{int arr[10][10] = { 0 };for (int i = 0; i < 10; i++){arr[i][0] = 1;for (int j = 0; j <= i;j++){if (i == j){arr[i][j] = 1;}if (i > 1 && j > 0){arr[i][j] = arr[i - 1][j - 1] + arr[i - 1][j];}}}for (int i = 0; i < 10; i++){for (int j = 0; j <=i; j++){printf("%d ", arr[i][j]);}printf("\n");}return 0;
}

(3)打印空格:

for (j = 10 - i; j > 0; j--)
{printf("  ");
}

(4)最后代码如下:

#include<stdio.h>int main()
{int arr[10][10] = { 0 };int i = 0;int j = 0;for (int i = 0; i < 10; i++){for (j = 10 - i; j > 0; j--){printf("  ");}arr[i][0] = 1;for (int j = 0; j <= i;j++){if (i == j){arr[i][j] = 1;}if (i > 1 && j > 0){arr[i][j] = arr[i - 1][j - 1] + arr[i - 1][j];}printf("%-3d ", arr[i][j]);}printf("\n");}return 0;
}

谢谢大家!!!

http://www.lryc.cn/news/344958.html

相关文章:

  • 贪吃蛇(下)游戏的实现
  • 偏微分方程算法之椭圆型方程差分格式编程示例
  • PCIe协议之-TLP路由基础
  • inline内联函数-虚函数(virtual)可以是内联函数(inline)吗?
  • Spring Boot | Spring Boot 消息管理 ( 消息中间件 ) 、RabbitMQ“消息中间件“
  • 二层交换机与路由器连通上网实验
  • AJAX知识点(前后端交互技术)
  • 用wordpress为外贸进出口公司搭建多语言国际站
  • 雷军-2022.8小米创业思考-6-互联网七字诀之口碑:口碑即定位,超预期才有口碑,品牌建设
  • 欧盟MDR法规对医疗器械网络安全都有哪些要求?
  • Linux —— 信号初识
  • webpack进阶 -- 自定义Plugin,Loader封装打包优化
  • 《Decoupled Optimisation for Long-Tailed Visual Recognition》阅读笔记
  • Springboot+Vue项目-基于Java+MySQL的毕业就业信息管理系统(附源码+演示视频+LW)
  • 条件平差——以水准网平差为例 (python详细过程版)
  • mysql -- WITH RECURSIVE 语法
  • 洗地机什么品牌好?洗地机怎么选?618洗地机选购指南
  • nginx负载均衡配置
  • HarmonyOS NEXT星河版之美团外卖点餐功能实战(中)
  • CTF-Web Exploitation(持续更新)
  • 图书管理系统c语言
  • 森林消防—高扬程水泵,高效、稳定、可靠!/恒峰智慧科技
  • 光伏设备制造5G智能工厂数字孪生可视化平台,推进行业数字化转型
  • 【论文阅读笔记】TS2Vec: Towards Universal Representation of Time Series
  • windows驱动开发-DMA技术(一)
  • 实用的Chrome命令
  • 数据库(MySQL)基础:约束
  • ControlNet作者放大招!IC-Light:控制生成图片光照效果!
  • 【Java】Java中类的初始化顺序(静态方法,静态块,非静态块,最后有流程图)
  • 在RK3588开发板使用FFMpeg 结合云服务器加SRS实现摄像头数据推流到云端拱其他设备查看