问题及代码:
/*
* Copyright (c++) 2017, 烟台大学计算机学院
*All rights reserved,
* 文件名: xiti.cpp
* 作 者:王效杰
*完成日期:2017年 4月 26日;
* 问题描述
杨辉三角
Description
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
上面的图形熟悉吗?它就是我们中学时候学过的杨辉三角。
Input
一个正整数n(1≤n≤30),表示将要输出的杨辉三角的层数。
Output
输出相应层数的杨辉三角,每一层的整数之间用一个空格隔开。
Sample Input
4
*/
#include <iostream>
using namespace std;
int main()
{
int n;
cin>>n;
int yang[99][99];
int i,j;
for(i=1;i<=n;i++)
{
for(j=1;j<=i;j++)
{
if(j==1)
{
yang[i][j]=1;
cout<<yang[i][j]<<' ';
}
if(j>1 && j<i)
{
yang[i][j]=yang[i-1][j-1]+yang[i-1][j];
cout<<yang[i][j]<<' ';
}
if(i!=1 &&j==i)
{
yang[i][j]=1;
cout<<yang[i][j]<<' '<<'\n';
}
if(i==1 && j==1)
{
cout<<'\n';
}
}
}
return 0;
}
运行结果:
知识点总结:
从这个过程中,进一步巩固了对循环的认识和理解,并在循环的基础上对其进行进一步的条件控制。
学习心得 :
虽然程序已经写过去很久了,但还依然记得当时起初写这段代码的艰辛,现在看来付出是有回报的。