C++运用include输入n输出n行杨辉三角
/*输入n,
*输出前n行杨辉三角。
*示例输入:
*n
*示例输出:
* 1
* 1 1
* 1 2 1
* 1 3 3 1
* 1 4 6 4 1
* ……
* 1 …… 1
*主框架:
#include <iostream>//最好用它,其他的不会用。
using namespace std;
int main(){
cout<<"输入您想要的行数";
int n;
cin>>n;
return 0;
}
最佳答案
完整的参考:
#include <iostream>//最好用它,其他的不会用。
using namespace std;
int main()
{
cout << "输入您想要的行数";
int n;
cin >> n;
int a[100][100] = {0};
int i, j;
for(i = 0; i < n; i++)
{
a[i][i] = 1;
a[i][0] = 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 <n- i; j++)
cout << " ";
for(j = 0; j <= i; j++)
cout << a[i][j] << " ";
cout << endl;
}
return 0;
}
追问:
可以解释一下吗?谢谢。
追问:
重点介绍一下数组用法,没见过int a[n][n]
追问:
int a[100][100]= {0}; 追答:
这个是用数组实现的,按杨辉三角的计算公式 a[i][j] = a[i - 1][j - 1] + a[i - 1][j];当前的值等于上一行的上一列加上上一行当前列生成数组后按格式输出就可以了
int a[100][100],定义100X100的二维数组,后面={0}是将它们初始化为0(教材上都有的)注意.一般不能写成int a[n][n];这个只有支持C++0x标准以上的编译器才能用的C++的下标要求要用常量的
其他回答
暂无其它回答!