是5.1呀 2023-11-21 21:56 采纳率: 83.3%
浏览 3
已结题

如何用C语言成功的写出杨辉三角

img


这个杨辉三角我用C语言写出来怎么都是错的,各位能不能帮我看看我哪里错了,并且怎么改正啊

  • 写回答

2条回答 默认 最新

  • 柯本 2023-11-21 23:02
    关注

    程序有多个错,感觉思路不明确,开头的就大错了

      printf("%d\t", a[0][0]);//你的第一行是打印在左边的?那么后面的\t有什么意义?
    if (i = 0) //C的比较要用==不能用=,且你的i根本没有初始值,这个判断有点莫名
        {
          for (j = 1; j < n; j++)
            {
              printf(" "); //打印20个空格也没意义
            }
        }
    

    另外,20行的杨辉三角不可能用\t,要显示不下的
    以下是一个简单的参考(不考虑前面的空格了)

    #include <stdio.h>
    int main()
    {
      int n = 20;
      int a[20][20] = {0};
      int i, j;
      for (i = 0; i < n; i++)
        {
          a[i][i] = 1;
          a[i][0] = 1;
        }
      for (i = 2; i < n; i++)
        {
          for (j = 1; j <= i; j++)
            {
              a[i][j] = a[i - 1][j - 1] + a[i - 1][j];
            }
        }
      for (i = 0; i < n; i++)
        {
          for (j = 0; j <= i; j++)
            printf("%d ", a[i][j]);
          printf("\n");
        }
    }
    
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 12月1日
  • 已采纳回答 11月23日
  • 创建了问题 11月21日