C语言| 二维数组的应用II
二维数组的应用:杨辉三角中的等腰三角形
选择性输出,只输出 i>=j 的元素。
可以采取边赋值边输出的方式,优化程序。
【过程分析】
1 定义常量M ,为二维数组的行号列号
2 用for循环给数组赋值,内嵌一个if语句赋值
if语句 条件1 (j==0) || (i==j),令数组元素等于1
条件2 其他位置上的数字都是它“上面那个数字”和“左上那个数字”之和。
a[i][j] = a[i-1][j]+a[i-1][j-1];
3 用for循环输出数组,内嵌2个for循环输出
第一个for循环,输出空格
第二个for循环,输出数组元素
【程序代码】
#include <stdio.h>
#define M 8
int main(void)
{
int i, j;
int count; //给输出空格缩进时的计数
int a[M][M] = {0};
//用for循环给数组赋值
for(i=0; i<M; i++)
{
//只给数组赋值一半,条件为j<=i
for(j=0; j<=i; j++)
{
if((j==0) || (i==j))
{
a[i][j] = 1;
}
else
{
a[i][j] = a[i-1][j]+a[i-1][j-1];
}
}
}
//用for循环输出数组
for(i=0; i<M; i++)
{
//空格进行缩进用for循环
for(count=0; count<=M-1-i; count++)
{
printf("\x20\x20");
}
for(j=0; j<=i; j++)
{
printf("%-3d\x20", a[i][j]);
}
printf("\n");
}
return 0;
}
/*
在VC++6.0中的输出结果为
----------------------------------
----------------------------------
*/
原文地址:https://blog.csdn.net/qq_40555264/article/details/145162797
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!