第1个回答 2008-11-23
#include <stdio.h>
int main(void)
{
int a[10][10];
int i.j;
for(i=0;i<10;i++,putchar('\n'))
for(j=0;j<=i;j++,printf("%d",a[i][j]))
a[i][j]=j==0||j==i?1:a[i-1][j-1]+a[i-1][j];
return 0;
}
我也是大一的 交个朋友吧 445115857本回答被提问者采纳
第2个回答 2008-11-23
void main()
{
long i,j,n,k;
scanf("%ld",&n); //若只要10行,把这里改成n=10即可
for(i=1;i<=n;i++)
{
k=1;
for(j=1;j<i;j++)
{
printf("%ld ",k);
k=k*(i-j)/j;
}
printf("1\n");
}
}
第3个回答 2008-11-23
#include <stdio.h>
/*
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
*/
//输出结果
void output(int a[][20],int n){
for(int i=0;i<n;i++){
for(int j=0;j<=i;j++)
printf("%4d ",a[i][j]);
printf("\n");
}
}
//杨辉三角
void yanghui(int n){
char *addr="gdgzzch.blog.163.com";
printf("本程序来自:%s\n",addr);
int a[20][20];
int i,j;
for(i=0;i<n;i++){
a[i][0]=1; //第一列为1
a[i][i]=1; //对角线为1
for(j=1;j<i;j++){
a[i][j]=a[i-1][j-1]+a[i-1][j]; //肩上两个数之和
}
}
output(a,n);
}
int main()
{
yanghui(10);
return 1;
}