前面提到过C语言的字符串是有char字符组成,其中char字符数组中的长度需要-1,因为系统默认会在字符数组中的最后添加一个“\0”
其他类型数组长度等于其自身长度,不能改变,这里贴一份杨辉三角行的code
思路:1、使用二维数组
2、每一行的首和尾都为1,也就是a[i][0],a[i][i]都为1
3、拿掉1之后,下面的数字是前排数字的a[i-1][j-1]+a[i-1][j]的和
#include <stdio.h>
#include <stdlib.h>
#define N 10
/*
杨辉三角形
*/
int main(void)
{
int a[10][10];
//两边对角线
for (int i = 0; i < N; i++)
{
a[i][0] = 1;
a[i][i] = 1;
}
//求和
for (int i = 2; i < N; i++)
{
for (int j = 1; j < i; j++)
{
a[i][j] = a[i - 1][j - 1] + a[i - 1][j];
}
}
for (int i = 0; i < N; i++)
{
for (int j = 0; j < N; j++)
{
if(a[i][j]>0)
{
printf("%5d",a[i][j]);
}
}
printf("\n");
}
}