69,369
社区成员
发帖
与我相关
我的任务
分享
#include <stdio.h>
void main()
{
int n,i,j,t=0;
int y[15][15];
/*提示输入三角形行数*/
printf("请输入三角形行数");
//for(t=0;t <=2;t++) 你的只能输入三次三角形的行数...
while(1)
{
scanf("%d",&n);
if(n>15)
printf("超出范围请重新输入");
if(n <=15)
{
/*用矩形的下三角部分,对杨辉三角型每行两边赋*/
for(i=0;i <n;i++)
{
y[i][i]=1;
y[i][0]=1;
}
/*从洋灰三角形的第三行,第二列起,每个元素的值等于其上一行对应的元素的两个值相加*/
for(i=2;i <n;i++)
for(j=1;j <i;j++)
y[i][j]=y[i-1][j-1]+y[i-1][j];
/*考虑怎么每一行怎么打,打多少行*/
for(i=0;i <n;i++){ /*打印n行*/
for(j=0;j <n-i-1;j++) /*每行前空白的部分自己推算*/
printf(" "); /*四个空格*/
for(j=0;j <=i;j++) /*打印相应的元素*/
printf("%4d ",y[i][j]);
printf("\n");
}
}
}
//printf("输入次数过多");
}
#include <stdio.h>
#define N 10
#define SWAP(x, y) x^=y^=x^=y
int main()
{
int a[2][N];
int i, j;
int from = 0, curr = 1;
for (i = 0; i < N; printf("\n"), a[curr][(i++)+1] = 0, SWAP(curr, from))
for ( printf("%d\t",a[curr][0] = j = 1); j <= i; j++)
printf("%d\t", a[curr][j] = a[from][j] + a[from][j-1]);
return 0;
}