杭电2032杨辉三角

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2032

做该题时,开始就给出Presentation Error ( 程序总体正确,但是输出格式不符合要求!注意程序中的空格、空行)

开始的代码:

#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
    int n;
    int Array[31][31]={0};
    while(cin>>n)
    {
      for(int i=1;i<=n;i++)
      {
        for(int j=1;j<=n;j++)
        {
          if(i==j)
            Array[i][j]=1;
          if(j==1)
            Array[i][i]=1;
          if(i!=j)
            Array[i][j]=Array[i-1][j-1]+Array[i-1][j]; 
        }
      }
      for(int i=1;i<=n;i++)
      {
        for(int j=1;j<=n;j++)
        {
          if(i>=j)
            cout<<Array[i][j]<<" ";
          cout<<endl;
        }
      }
      cout<<endl;
      //cout<<"Array[5][3]="<<Array[5][3]<<endl;
    }
    system("PAUSE");
    return EXIT_SUCCESS;
}

上面的代码问题出在了每一行多输出一个空格······

下面的代码是改正后的可以AC的:

#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
    int n;
    int Array[31][31]={0};
    while(cin>>n)
    {
      for(int i=1;i<=n;i++)
      {
        for(int j=1;j<=n;j++)
        {
          if(i==j)
            Array[i][j]=1;
          if(j==1)
            Array[i][i]=1;
          if(i!=j)
            Array[i][j]=Array[i-1][j-1]+Array[i-1][j]; 
        }
      }
      for(int i=1;i<=n;i++)
      {
        for(int j=1;j<=n;j++)
        {
          if(i>j)
            cout<<Array[i][j]<<" ";
          if(i==j)
          {
            cout<<Array[i][j];
            cout<<endl;
          }
        }
      }
      cout<<endl;
      //cout<<"Array[5][3]="<<Array[5][3]<<endl;
    }
    system("PAUSE");
    return EXIT_SUCCESS;
}
原文地址:https://www.cnblogs.com/gkfeng/p/2616821.html