1.使用指针实现杨辉三角
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
void yh(int n,int (*p)[n])
{
int i,j,k;
for(i=0;i<n;i++)
{
for(k=0;k<n-i;k++)
{
printf(" ");
}
for(j=0;j<=i;j++)
{
if(j==0||j==i)
{
*(*(p+i)+j)=1;
}
else
{
*(*(p+i)+j)=*(*(p+i-1)+j-1)+*(*(p+i-1)+j);
}
printf("%2d",*(*(p+i)+j));
}
puts("");
}
}
int main(int argc, const char *argv[])
{
int n;
printf("请输入层数");
scanf("%d",&n);
int a[n][n];
yh(n,a);
return 0;
}
ubuntu@ubuntu:day10$ gcc 10.c
ubuntu@ubuntu:day10$ ./a.out
请输入层数5
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1