此题需要注意每个杨辉三角之间都要有一个空行

  1. #include <iostream>
  2. #include <cstdlib>
  3. using namespace std;
  4. int main()
  5. {
  6. int a[31][31]={ 0},i;
  7. int n,j,k;
  8. while(cin>>n)
  9. {
  10. k=0;
  11. for(i=0;i<n;i++)
  12. {
  13. a[i][0]=1;//给每行的第一个和最后一个数赋值为1
  14. a[i][i]=1;
  15. }
  16. if(n>=3)
  17. {
  18. for(i=2;i<n;i++)
  19. for(j=1;j<n-1;j++)
  20. {
  21. a[i][j]=a[i-1][j-1]+a[i-1][j];
  22. }
  23. }
  24. for(i=0;i<n;i++)
  25. {
  26. k=0;
  27. for(j=0;j<=i;j++)
  28. {
  29. if(k==0)
  30. {
  31. cout<<a[i][j];k++;
  32. }
  33. else cout<<" "<<a[i][j];
  34. }
  35. cout<<endl;
  36. }
  37. cout<<endl;
  38. }
  39. return 0;
  40. }