本题用了两种方法输出:一是找到规律逐行输出,二是给数组赋值输出
//找到规律逐行输出
#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;
}
变量或者语句的位置很重要,放的地方不同,程序实现的功能也完全不同,所以一定要注意。
原文地址:http://lingdandan.blog.51cto.com/10697032/1697944