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;}这样写为什么会有重复? 展开
 我来答
紫薇参星
科技发烧友

2018-10-17 · 有一些普通的科技小锦囊
知道大有可为答主
回答量:5983
采纳率:92%
帮助的人:3616万
展开全部

你的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;

}

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式