杨辉三角

AirGo. 2015-11-28 05:25:24

这种原版的杨辉三角怎么输出啊,我只会输出那种全部靠左的。
...全文
141 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Boran+ 2015-11-30
  • 打赏
  • 举报
回复
不知道你是否记得这一道题 用for输出 * *** ***** ******* ***** *** * 本质上基本一样在输出的时候再加一个for就行了
赵4老师 2015-11-30
  • 打赏
  • 举报
回复
仅供参考:
#include <stdio.h>
#define MAXN 10
unsigned __int64 y[MAXN][MAXN];
int i,j;
char s[60];
void main() {
    printf("%30s\n","1  ");
    printf("%33s\n","1     1  ");
    y[1][0]=1ui64;y[1][1]=1ui64;
    for (i=2;i<MAXN;i++) {
        y[i][0]=1ui64;sprintf(s,"1  ");
        for (j=1;j<=i-1;j++) {
            y[i][j]=y[i-1][j-1]+y[i-1][j];
            sprintf(s,"%s   %-3I64u",s,y[i][j]);
        }
        y[i][i]=1ui64;sprintf(s,"%s   1  ",s);
        printf("%*s\n",30+i*3,s);
    }
}
//                           1
//                        1     1
//                     1     2     1
//                  1     3     3     1
//               1     4     6     4     1
//            1     5     10    10    5     1
//         1     6     15    20    15    6     1
//      1     7     21    35    35    21    7     1
//   1     8     28    56    70    56    28    8     1
//1     9     36    84    126   126   84    36    9     1
gh_99 2015-11-28
  • 打赏
  • 举报
回复
把它当作4*7的矩阵,除数字部分,其余都为空格.
anzi5091104 2015-11-28
  • 打赏
  • 举报
回复
你首先要知道你会输出多少行,然后做一个for递减或者while递减的,从第一行开始打印空格就行了

69,382

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧