(第十列)C语言基础练习:打印杨辉三角,文字解释太烦,直接代码解析。
2023-09-11 14:19:28 时间
题目:打印杨辉三角前十行,如下:
1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 1 6 15 20 15 6 1 1 7 21 35 35 21 7 1 1 8 28 56 70 56 28 8 1 1 9 36 84 126 126 84 36 9 1
代码见真知:
定义:
int arry[10][10]; //首先定义二维数组,有行有列 int i,j;
1是比较明显的规律,首先解决:
//由题目可知,1所在的行和列是有规律的 for(i=0;i<10;i++) { arry[i][0]=1; //由题目可知第一例全为1 arry[i][i]=1; //由题可知第i行i列也全是1 }
中间部分,找规律:
for(i=2;i<10;i++) //行循环,由于1已结解决,所以直接从第三行开始 { for(j=1;j<i;j++) //第一例全为1,已解决,直接从第二列开始 { //中间的某一个数等于它上一行,它所在的一列的数与前一列的数之和 arry[i][j]=arry[i-1][j]+arry[i-1][j-1]; } }
最后输出即可。
完整代码:
#include<stdio.h>
int main()
{
int arry[10][10];
int i,j;
for(i=0;i<10;i++)
{
arry[i][0]=1;
arry[i][i]=1;
}
for(i=2;i<10;i++)
{
for(j=1;j<i;j++)
{
arry[i][j]=arry[i-1][j]+arry[i-1][j-1];
}
}
for(i=0;i<10;i++)
{
for(j=0;j<=i;j++){
printf("%d ",arry[i][j]);
}
printf("\n");
}
return 0;
}
相关文章
- C语言常见问题 如何用Visual Studio编写C语言程序测试
- C语言实现泛型编程
- C语言/C++基础之绘制图钉画(附源码)
- C语言/C++基础之奔跑的小人
- C语言/C++基础之俄罗斯方块
- C语言/C++基础之大炮打飞机
- C语言/C++基础之是蛇你就贪起来
- C语言/C++基础之小猪佩奇
- ZZNUOJ_C语言1060:逆序输出各位数字(完整代码)
- ZZNUOJ_用C语言编写程序实现1378:词组缩写(附完整源码)
- 【C语言】C语言基础提高第一弹 — C语言基础知识
- 【C语言】详解线程 — 线程分离函数 pthread_detach
- 【C语言】数据类型本质分析
- 设计模式的C语言应用-导言-第一章
- C语言 基础练习40题
- C语言逆向——常量字符串的赋值copy分析
- C语言 使用char字符实现汉字处理
- 看这篇C语言基础就够了(2020-04-19)
- 【维生素C语言】第三章 - 函数
- 【维生素C语言】第十八章 - C语言程序环境
- C语言进阶-指针运算
- 2022C语言知识点大全【详细、必备】