解题思路:
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 人评分
C语言训练-舍罕王的失算 (C语言代码)浏览:1019 |
C语言训练-数字母 (C语言代码)浏览:578 |
C语言程序设计教程(第三版)课后习题7.3 (C语言代码)浏览:612 |
程序员的表白 (C语言代码)浏览:612 |
C语言训练-求函数值 (C语言代码)浏览:547 |
WU-拆分位数 (C++代码)浏览:756 |
字符逆序 (C语言代码)浏览:599 |
简单的a+b (C语言代码)浏览:443 |
单词个数统计 (C语言代码)浏览:1005 |
输入输出格式练习 (C语言代码)浏览:730 |