21xrx.com
2025-03-26 11:22:59 Wednesday
文章检索 我的文章 写文章
如何在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的时候,需要用整型变量进行转换,防止出现计算误差。

  
  

评论区