题目链接: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; }