holyya.com
2025-09-04 15:30:19 Thursday
登录
文章检索 我的文章 写文章
如何在C语言中输出杨辉三角前n行
2023-06-17 18:29:03 深夜i     --     --
杨辉三角 C语言 循环

杨辉三角是中国古代数学家杨辉所发明的一种数字排列,具有很多有用的特性和应用。在计算机编程中,输出杨辉三角是很常见的任务,也是一个不错的练手题目。

下面是C语言代码,实现输出杨辉三角前n行的功能。


#include

int main() {

  int n, i, j, coef = 1;

  printf("输入要输出的行数:");

  scanf("%d", &n);

  for (i = 0; i < n; i++) {

    for (j = 0; j <= i; j++) {

      if (j == 0 || i == 0)

        coef = 1;

       else {

        coef = coef * (i - j + 1) / j;

      }

      printf("%d ", coef);

    }

    printf("\n");

  }

  return 0;

}

这段代码的实现思路很简单,外层循环控制行数,内层循环控制每行的数字,变量coef存储当前位置对应的数字。在计算每个数字的时候,如果位于第一列或第一行,则coef为1,否则coef的值为上一行、上一列和当前列的数值之和,也就是杨辉三角中的规律。

这里同时需要注意一点,当一个数的位数比较大时,直接计算可能导致精度错误,因此在计算coef的时候,需要用整型变量进行转换,防止出现计算误差。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复