问题及代码:
/*
*Copyright (c) 2014,烟台大学计算机学院
*All gight reserved.
*文件名称:temp.cpp
*作者:曾建强
*完成时间:2014年11月27日
*版本号:v1.0
*问题描述:输出杨辉三角形,行数0<a<=30
*输入描述:一个整数
*输出描述:
*/
#include <iostream>
using namespace std;
int main()
{
int i,j,n;
cin>>n;
int a[30][30];
for (i=0; i<n; ++i)
{
a[i][0]=1;
a[i][i]=1;
}
for (i=2; i<n; ++i)
{
for (j=1; j<i; ++j)
{
a[i][j]=a[i-1][j-1]+a[i-1][j];
}
}
for (i=0; i<n; ++i)
{
for (j=0; j<=i; ++j)
{
if (i>j)
cout<<a[i][j]<<" ";
if (i==j)
cout<<a[i][j];
}
cout<<endl;
}
return 0;
}
运行结果:
知识点总结:
注意输出的时候,行数是等于列数的,所以应该i<=j。而进行数据运算的时候,要注意每行的最后一位都是1,所以这个时候for语句里面的j要小于i。
学习心得:
比较麻烦,我自己只是把大纲写出来的,后面是和刘畅同学一起完成的,╮(╯▽╰)╭,技不如人呐。继续努力了。