| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1049 人关注过本帖
标题:怎样输出杨辉三角?以三角形式?
只看楼主 加入收藏
jj369258
Rank: 4
等 级:业余侠客
帖 子:116
专家分:226
注 册:2010-12-2
结帖率:69.57%
收藏
已结贴  问题点数:10 回复次数:4 
怎样输出杨辉三角?以三角形式?
#include<stdio.h>
int main()
{
    int i,j,m,a[33][33];
    scanf("%d",&m);
    for(i=0;i<m;i++)
    {
        for(j=0;j<=i;j++)
        {
            if((i==j)||(j==0))
                a[i][j]=1;
            else
                a[i][j]=a[i-1][j]+a[i-1][j-1];
            printf("%d",a[i][j]);
        }
    }
    printf("\n");
    return 0;
}
我这个程序是输出在一行,能不能移三角形的形式输出?而且时等腰的,如;
                            1
                          1    1
                       1     2    1
                     1    3     3     1
                   ........................
搜索更多相关主题的帖子: 三角形 杨辉三角 
2010-12-24 10:11
jianghong_02
Rank: 6Rank: 6
等 级:侠之大者
威 望:1
帖 子:143
专家分:476
注 册:2010-10-2
收藏
得分:7 
研究一下在给你说,应该是可以的…………
2010-12-24 10:14
jj369258
Rank: 4
等 级:业余侠客
帖 子:116
专家分:226
注 册:2010-12-2
收藏
得分:0 
谢谢
2010-12-24 10:16
极品程序
Rank: 4
等 级:业余侠客
帖 子:38
专家分:203
注 册:2010-12-8
收藏
得分:0 
可以输出,不过如果数据太大,屏目就装不下了.
2010-12-24 12:21
绯苍幻想曲
Rank: 2
等 级:论坛游民
帖 子:34
专家分:49
注 册:2010-11-29
收藏
得分:0 
这个是我写的,很烂...发出来大家帮咱改改,谢谢大家了
程序代码:
#include<stdio.h>
int main()
{
    int a[19][37],l,r,n;
    scanf("%d",&n);
    if((n+1)%2==0||n==1)
    {
    for(l=0;l<n;l++)
    {
            for(r=0;r<n-l-1;r++)
            {
                a[l][r]=32;
            }
            for(;r<n+l;r++)
            {
                if((r==n-l-1)||(r==n+l-1)) a[l][r]=1;  //  n-l-1+2*l+1
                else
                {
                    if(l%2==0&&l!=0)
                    {
                         if((r+1)%2==0) a[l][r]=32;
                         else a[l][r]=a[l-1][r-1]+a[l-1][r+1];
                    }
                    if((l+1)%2==0&&l!=0)
                    {
                         if(r%2==0) a[l][r]=32;
                         else a[l][r]=a[l-1][r-1]+a[l-1][r+1];
                    }
                }
            }
    }
    }
    if(n%2==0)
    {    for(l=0;l<n;l++)
    {
            for(r=0;r<n-l-1;r++)
            {
                a[l][r]=32;
            }
            for(;r<n+l;r++)
            {
                if((r==n-l-1)||(r==n+l-1)) a[l][r]=1;  //  n-l-1+2*l+1
                else
                {
                    if(l%2==0&&l!=0)
                    {
                         if(r%2==0) a[l][r]=32;
                         else a[l][r]=a[l-1][r-1]+a[l-1][r+1];
                    }
                    if((l+1)%2==0&&l!=0)
                    {
                         if((r+1)%2==0) a[l][r]=32;
                         else a[l][r]=a[l-1][r-1]+a[l-1][r+1];
                    }
                }
            }
    }
    }
        for(l=0;l<n;l++)
    {
        for(r=0;r<=n+l-1;r++)
        {
            if(a[l][r]==32) printf("%c",a[l][r]);
            if(a[l][r]!=32) printf("%d",a[l][r]);
        }
        printf("\n");
    }
    return 0;
}
2010-12-24 18:27
快速回复:怎样输出杨辉三角?以三角形式?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017877 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved