编写程序lx2.cpp,其中定义函数void yanghuiTriangle(int n)实现图所示杨辉三角形输出。 在主函数中输出n=8的杨辉三角形,并利用输入流读取本程序,将代码在屏幕逐行输出。
实验思路:首先用二维数组实现杨辉三角,并实现再屏幕上的输出,并命名为lx2.cpp再在主函数中定义一个ifstream对象,并读取lx2.cpp文件,在屏幕上输出。
#include <iostream>
#include <fstream>
#include<iomanip>
using namespace std;
void yanghuiTriangle(int n){
int arr[n][n];
for(int i=0;i<n;i++){//先定义对角线和第一列的元素都为1,定义之后,一二行也就定义了
arr[i][i] = 1;
arr[i][0] = 1;
}
for(int i=2;i<n;i++){//从第三行开始
for(int j=1;j<i;j++){
arr[i][j] = arr[i-1][j-1]+arr[i-1][j];
}
}
for(int i=0;i<n;i++){//输出元素
for(int j=0;j<=i;j++){
cout << setw(4) << arr[i][j];
}
cout << endl;
}
}
int main() {
int n = 0;
cout << "请输入行数" << endl;
cin >> n;
yanghuiTriangle(n);
ifstream ifs;
ifs.open("lx2.cpp",ios::in);
string buf;
while(getline(ifs,buf)){
cout << buf << endl;
}
}