题目描述
杨辉三角是一种经典的数学图形,它由一组数字构成,其中每个数字是上方两个数字的和。编写一个简单的C++程序,用于生成并输出指定行数的杨辉三角。
案例代码
#include <iostream>
using namespace std;
int main() {
int rows, coef = 1;
cout << "请输入要生成的行数:";
cin >> rows;
for(int i = 0; i < rows; i++) {
for(int j = 1; j <= rows - i; j++) {
cout << " ";
}
for(int k = 0; k <= i; k++) {
if (k == 0 || i == 0) {
coef = 1;
} else {
coef = coef * (i - k + 1) / k;
}
cout << coef << " ";
}
cout << endl;
}
return 0;
}
在这个程序中,使用了三个嵌套的循环来生成杨辉三角。外层循环 for(int i = 0; i < rows; i++)
控制生成的行数,中间的循环 for(int j = 1; j <= rows - i; j++)
控制输出空格,内层循环 for(int k = 0; k <= i; k++)
控制输出数字。
在内层循环中,使用了一个变量 coef
来存储当前位置的数字值。根据杨辉三角的性质,每个数字都是上方两个数字的和,因此可以使用组合数的公式来计算当前位置的值。如果当前位置为第一列或第一行,则该位置的值为1,否则通过 coef = coef * (i - k + 1) / k
来计算。
在程序的开头,使用 cin
输入要生成的行数,并通过 cout
输出每一行的数字。最后,使用 return 0
来结束程序的执行。
© 版权声明
本站资源来自互联网收集,仅供用于学习和交流,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。敬请谅解!
THE END