杨辉三角
#include<iostream>
#include<cstring>
using namespace std;
int main()
{
int n;
cin>>n;
int a[40][40];
memset(a,0,sizeof(a));
a[0][0]=1;
for(int i=1;i<=n;i++)
{
for(int j=1;j<=i;j++)
{
a[i][j]=a[i-1][j]+a[i-1][j-1];
}
}
for(int i=1;i<=n;i++)
{
for(int j=1;j<=i;j++)
{
printf("%5d",a[i][j]);
}
cout<<endl;
}
return 0;
}
int n; cin >> n; int a[40][40]; memset(a, 0, sizeof(a)); a[0][0] = 1;
int n;
:声明一个整型变量n
,用于接收用户输入的一个整数,从后续代码可以推测这个整数决定了要生成的某种结构的规模大小(比如行数等)。cin >> n;
:从标准输入读取一个整数,并将其赋值给变量n
。int a[40][40];
:定义一个二维整型数组a
,其大小为40×40
,用于存储后续要计算和展示的数据。memset(a, 0, sizeof(a));
:使用memset
函数将二维数组a
的所有元素初始化为 0。memset
函数的作用是按字节对内存区域进行填充,它接受三个参数,第一个是要初始化的内存地址(这里是数组a
),第二个是要填充的值(0 在这里表示将字节都填充为 0,对于整型数组来说就是将每个元素初始化为 0),第三个是要填充的内存区域的大小(通过sizeof(a)
获取数组a
的总字节数)。a[0][0] = 1;
:将二维数组a
的左上角第一个元素(即a[0][0]
)赋值为 1,这通常是后续计算的起始值或者基础值。