C语言练习12---杨辉三角
2021/11/25 6:14:03
本文主要是介绍C语言练习12---杨辉三角,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
1.二维数组法
比较简单
思路:
每行的中间元素等于其 上一行的元素 加上 上一行减一的元素
#include <stdio.h> #include <stdlib.h> #define ROW 100 //行 #define COS 100 //列 //二维数组 void YHTrile_Twodim(int n, int(*arr)[COS]) { //特殊处理 for (int i = 0; i < n; i++) { arr[i][0] = 1; arr[i][i] = 1; } for (int i = 0; i < n; i++) { for (int j = 0; j <= i; j++) { if (i>1 && j != 0 && j != i) { arr[i][j] = arr[i - 1][j] + arr[i - 1][j - 1]; } printf("%-5d ",arr[i][j]); } printf("\n"); } } int main() { int arr[ROW][COS] = { 0 }; int n = 0; printf("\n"); YHTrile_Twodim(10, arr); system("pause"); return 0; }
2. 一维数组法
比较难思考一点
请看图解:
思路如下:
(1). 对前两个元素初始化为1,前两个数足以打印打印第一行和第二行
(2). 到了第三行 利用这两个数 再在其后 赋予1这个元素
此时数组为 1 1 1 三个元素
再让其 倒数第二个数 等于 其本身 加上 前面一个元素
此时数组为 1 2 1 打印出第三行
(3). 到了第四行 数组为 1 2 1 1 四个元素
再让其 倒数第二个数 等于 其本身 加上 前面一个元素
再让其 倒数第三个数 等于 其本身 加上 前面一个元素
此时数组为 1 3 3 1
。
。
。
每到下一行都会改变数组的元素,然后再增加1这个元素,利用同一组数不断改变,来实现的!!
根据思路,加上循环就可实现
#include <stdio.h> #include <stdlib.h> #define ROW 100 #define COS 100 void YHTrile_Onedim(int n, int *arr) { arr[0] = 1; //第一行 printf("%-5d\n", arr[0]); arr[1] = 1; //第二行 printf("%-5d%-5d\n", arr[0], arr[1]); for (int i = 2; i < n; i++) //后n-2行 { arr[i] = 1; //每行最后一个元素置1 for (int j = i - 1; j>0; j--) { arr[j] = arr[j - 1] + arr[j]; } for (int k = 0; k <= i; k++) { printf("%-5d", arr[k]); } printf("\n"); } } int main() { int arr[ROW*COS] = { 0 }; printf("\n"); YHTrile_Onedim(10, arr); system("pause"); return 0; }
这篇关于C语言练习12---杨辉三角的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-06-26终极指南:Scrum中如何设置需求优先级
- 2024-06-26AI大模型企业应用实战(25)-为Langchain Agent添加记忆功能
- 2024-06-26小白家庭 nas 搭建方案-icode9专业技术文章分享
- 2024-06-23AI大模型企业应用实战(14)-langchain的Embedding
- 2024-06-23AI大模型企业应用实战(15)-langchain核心组件
- 2024-06-23AI大模型企业应用实战(16)-langchain核心组件
- 2024-06-23AI 大模型企业应用实战(06)-初识LangChain
- 2024-06-19EntBot.ai: AI Website Chatbot for Product Guides and Development Doc
- 2024-06-17zero-shot-learning-definition-examples-comparison
- 2024-06-06Package Easy(基于 NSIS 的打包exe安装包工具)使用方法-icode9专业技术文章分享