解题思路:
1.先写出基本的杨辉三角的样式,存在数组当中。
2.然后倒着输出,找到倒着输出的规律就好了。记得数字的占位符的宽度应该和一次输出的空格的长度相等。
参考代码:
#include<stdio.h> int main() { int n,a[10][10]={0},i,j,k; //二维数组存基本杨辉三角 while (scanf("%d",&n)!=EOF&&(n>=1&&n<=10)) { for(i=0;i<n;i++) //先往数组里存杨辉三角的基本样子 { for(j=0;j<=i;j++) { if(i==j||j==0) //杨辉三角的规律:当行与列相等时或者列为0的时候,为1 a[i][j]=1; else a[i][j]=a[i-1][j]+a[i-1][j-1]; //其他时候是前面的两个相加即可 } } for(i=0;i<n;i++) //按要求输出杨辉三角 { for(j=0;j<i;j++) printf(" "); //输出行两个占位符的间隔是3,为了避免bong输出数字就直接用3个空格去代替 for(k=0;k<n-i;k++){ //倒着输出 printf("%3d",a[n-i-1][k]); //占位符为3 printf(" "); //后面接着来间隔,方便下一个如果有数,就输出,没数,就输出3个空格 } printf("\n"); } printf("\n"); } return 0; }
看看大家还有什么不懂得,请在下方评论区留言
0.0分
19 人评分
printf基础练习2 (C语言代码)浏览:321 |
数组输出 (C语言代码)--此题的题目描述有问题浏览:1843 |
众数问题 (C语言代码)浏览:911 |
C语言程序设计教程(第三版)课后习题6.8 (C++代码)浏览:614 |
C语言程序设计教程(第三版)课后习题8.7 (C语言代码)浏览:609 |
1012题解浏览:938 |
简单的a+b (C语言代码)浏览:457 |
IP判断 (C语言代码)浏览:592 |
计算质因子 (C语言代码)浏览:778 |
C语言程序设计教程(第三版)课后习题6.7 (C语言代码)浏览:725 |