c++打印杨辉三角到21那一行,有重复
#include<iostream>usingnamespacestd;intmain(){constintN=11;inta,b,n,o;for(inti=1;i<=N...
#include<iostream>using namespace std;int main(){ const int N=11; int a,b,n,o; for (int i=1;i<=N;i++) { a=2*i-1; b=(a+1)/2; n=11-b; o=11+b; for (int j=1; j<=n;j++) cout<<" "; for (int q=n+1;q<o;q++) { for (int c=1;c<b;c++) {int f; f=2*c-1; cout<<f; } for (int d=b;d>=1;d--) {int e; e=2*d-1; cout<<e; }cout<<endl; } } return 0;}这样写为什么会有重复?
展开
1个回答
展开全部
你的C++语言程序,因为多了一层for (int q=n+1;q<o;q++) 循环,所以会有重复,另外,你的杨辉三角的中的数字也不对,我给你重新写了一个打印杨辉三角的C++程序,你看看吧.
#include<iostream>
using namespace std;
int main(){
const int N=11;
int s=1;
int i,j;
for (i=1;i<=N;i++)
{
s = 1;
for (j=1;j<=N-i;j++)
cout<<" ";
if(i!=1)
cout<<"1 ";
for (j=1;j<=i-2;j++)
{
s=(i-j)*s/j;
cout<<s<<" ";
}
cout<<"1"<<endl;
}
return 0;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询