给出n,1小于等于n小于等于10
以正三角形输出,每个数字4位
新手求讲解
C语言哈,int main()
#include<stdio.h>
int main()
{
int n=0;
scanf("%d",&n);
int i=0,k;
int j=0;
int arr[30][30]= {0};
for(i=0; i<n; i++) //将第一列和最后一列元素赋值为1
{
for(j=0; j<=i; j++)
{
if(j==0||j==i)
{
arr[i][j]=1;
}
}
}
for(i=2; i<n; i++) //从第三行第二列开始,每个元素都是当前元素的前一行和前一行的前一列元素之和
{
for(j=1; j<=i; j++) //每一行都对应着与之相同的列数,所以内层循环限定条件为j<=i
{
arr[i][j]=arr[i-1][j]+arr[i-1][j-1];
}
}
for(i=0; i<n; i++)
{
for(k=0; k<n-i; k++)
{
printf(" ");
}
for(j=0; j<=i; j++)
{
printf("%4d",arr[i][j]);
}
putchar('\n');
}
return 0;
}