第j个数等于arr[j]+arr[j-1],图中打印的数是参考上一行的数组arr得到的。
#include
int main()
{
int arr[1000] = { 1 };//存着上一行的数
int tmp[1000] = { 0 };//作为临时数组储存当前打印的这一行
int n = 0;
scanf("%d", &n);//输入打印几行,因为数组长度是1000,n<1000.
for (int i = 1; i <= n; i++)//i表示第几行
{
for (int j = 1; j <= i; j++)//j表示打印这一行的第几个
{
printf("%-5d ", arr[j] + arr[j - 1]);
tmp[j] = arr[j] + arr[j - 1];
}
for (int j = 0; j <= i; j++)
{
arr[j] = tmp[j];
}
printf("\n");
}
return 0;
}
百度有最优解,但是我看不懂....
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)