【手把手带你刷好题】——30.杨辉三角(作业)

举报
安然无虞 发表于 2022/05/26 23:05:17 2022/05/26
【摘要】 【声明】 这里只是作业上面的内容,后续还会更新更好的方法。  【前言】  今天是刷题打卡第30天! 芜湖,坚持一个月咯,蟹蟹大家的陪伴哈!!    原题:杨辉三角 题目描述: 在屏幕上打印杨辉三角。 1 1 1 1 2 1 1 3 3 1 ...

【声明】

这里只是作业上面的内容,后续还会更新更好的方法。 

【前言】 

今天是刷题打卡第30天!

芜湖,坚持一个月咯,蟹蟹大家的陪伴哈!!

  

原题:杨辉三角

题目描述:

在屏幕上打印杨辉三角。

1

1 1

1 2 1

1 3 3 1

……

我的代码:


  
  1. //定义一个二维数组
  2. #include<stdio.h>
  3. int main()
  4. {
  5. int arr[30][30] = { 0 };
  6. int i = 0;
  7. int j = 0;
  8. printf("请输入多少行:\n");
  9. int n = 0;
  10. scanf("%d", &n);
  11. for (i = 0; i < n; i++)
  12. {
  13. //先为第一列和最后一列赋值为1
  14. arr[i][0] = arr[i][i] = 1;
  15. //从第三行第二列开始有规律
  16. for (j = 1; j < i; j++)
  17. {
  18. arr[i][j] = arr[i - 1][j - 1] + arr[i - 1][j];
  19. }
  20. }
  21. //打印
  22. for (i = 0; i < n; i++)
  23. {
  24. for (j = 0; j <= i; j++)//注意对j的处理
  25. {
  26. printf("%-3d", arr[i][j]);
  27. }
  28. printf("\n");
  29. }
  30. return 0;
  31. }

鹏哥的代码:


  
  1. #include<stdio.h>
  2. int main()
  3. {
  4. int arr[10][10] = { 0 };
  5. int i = 0;
  6. int j = 0;
  7. for (i = 0; i < 10; i++)
  8. {
  9. for (j = 0; j <= i; j++)
  10. {
  11. if (j == 0)
  12. {
  13. arr[i][j] = 1;
  14. }
  15. if (j == i)
  16. {
  17. arr[i][j] = 1;
  18. }
  19. //从第3行第2列开始有规律
  20. if (i >= 2 && j >= 1)
  21. {
  22. arr[i][j] = arr[i - 1][j] + arr[i - 1][j - 1];
  23. }
  24. printf("%d ", arr[i][j]);
  25. }
  26. printf("\n");
  27. }
  28. return 0;
  29. }

 很明显鹏哥的代码更清楚!nb

结语

今天是刷题打卡第30天!

由于是作业,题目比较简单,但是比较常见,思路都写成注释咯。

文章来源: bit-runout.blog.csdn.net,作者:安然无虞,版权归原作者所有,如需转载,请联系作者。

原文链接:bit-runout.blog.csdn.net/article/details/121593561

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。