本题用了两种方法输出:一是找到规律逐行输出,二是给数组赋值输出


//找到规律逐行输出

#include<stdio.h>

int main()

{

double i = 0;

double j = 0;

int n = 0;

int sum = 1;

printf("请输入你想输出的行数:");

scanf("%d", &n);

for (i = 0; i < n; i++)

{

for (j = 1; j <n-i; j++)

{

printf(" ");

}

printf("1 ");

sum = 1;

for (j = 0; j <i; j++)

{

sum *= (i-j)/(j+1);

printf("%d ", sum);

}

printf("\n");

}

system("pause");

return 0;

}



//给数组赋值

#include<stdio.h>

#include<process.h>

#define LINE 10

int main()

{

int arr[LINE][LINE] = { 0 };

int i = 0;

int j = 0;

int k = 0;

for (i = 0; i <LINE; i++)

{

for (j = 0; j <= i; j++)

{

arr[i][0] =1;

if (i == j)

{

arr[i][j] = 1;

}

}

}

for (i = 2; i <LINE;i++)

{

for (j = 1; j < i ; j++)

{

arr[i][j] = arr[i - 1][j - 1] + arr[i - 1][j];

}

}

for (i = 0; i < LINE; i++)

{

for (k = 0; k < LINE-i - 1; k++)

{

printf("  ");

}

for (j = 0; j <=i; j++)

{

printf("%d   ", arr[i][j]);

}

printf("\n");

}

system("pause");

return 0;

}

变量或者语句的位置很重要,放的地方不同,程序实现的功能也完全不同,所以一定要注意。