| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 34602 人关注过本帖
标题:输出杨辉三角前10行
只看楼主 加入收藏
a1697842
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2011-9-3
结帖率:100%
收藏
 问题点数:0 回复次数:9 
输出杨辉三角前10行
程序代码:
#include<stdio.h>
main()
{
    int a[10][10];
    int i,j;
    for(i=0;i<10;i++)
    for(j=0;j<10;j++)
    if(j==0)
    {
        a[i][j]=1;
        else
        a[i][j]=a[i-1][j-1]+a[i-1][j];
        printf("%5d",a[i][j]);
    }
}
运行提示错误是在else后面,想不出错哪里了
搜索更多相关主题的帖子: 杨辉三角 杨辉三角 
2011-09-05 06:39
A13433758072
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:广东潮州
等 级:小飞侠
威 望:1
帖 子:1182
专家分:2784
注 册:2010-7-22
收藏
得分:0 
这代码不是杨辉三角

一步一个脚印...............................默默地前进.....
诚邀乐于解答c菜鸟问题,的热心网友加入,  QQ群38490319
2011-09-05 07:04
pauljames
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:千里冰封
威 望:9
帖 子:1555
专家分:10000
注 册:2011-5-8
收藏
得分:0 
你这个if和else都不匹配吧

经常不在线不能及时回复短消息,如有c/单片机/运动控制/数据采集等方面的项目难题可加qq1921826084。
2011-09-05 07:18
逆火枫
Rank: 1
来 自:福州
等 级:新手上路
帖 子:4
专家分:1
注 册:2011-5-3
收藏
得分:0 
else要放到if下面的{}外面才行。
2011-09-05 08:38
yuccn
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:何方
等 级:版主
威 望:167
帖 子:6814
专家分:42393
注 册:2010-12-16
收藏
得分:0 
int main()
{
    int a[10][10] = { 0 };
    int i,j;

    for (i = 0; i < 10; i++) {
        for (j = 0; j < i+1; j++) {  
            if (j == 0 || j == i) {
                a[i][j] = 1;
            }
            else {  
                a[i][j] = a[i-1][j-1] + a[i-1][j];
            }

            printf("%5d ",a[i][j]);
        }  
        printf("\n");
    }

    return 0;
}

图片附件: 游客没有浏览图片的权限,请 登录注册

我行我乐
公众号:逻辑客栈
我的博客:
https://blog.yuccn. net
2011-09-05 09:31
edwardflee
Rank: 4
等 级:业余侠客
帖 子:145
专家分:234
注 册:2011-7-27
收藏
得分:0 
程序代码:
# include <stdio.h>

int main(void)
{
    int i,j,k;
    float sum;
    int n = 10;
    int yh;

   
    for (i=0; i<n; ++i)
    {
        for (k=i; n-k>0; ++k)
            printf("  ");

        for (j=0; j<=i; ++j)
        {
            if (0==j)
                sum = 1;
            else
                sum *= 1.0*((i+1)-j)/j;
           
            yh = int(sum);
            printf("%4d",yh);
        }
        printf("\n");
    }
   
    return 0;
}
/*
在VC++6.0中的输出结果为:
————————————
                       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
Press any key to continue
————————————
*/

学C的秘诀=每天都来泡论坛
2011-09-05 13:09
NeXT__00
Rank: 2
等 级:论坛游民
帖 子:51
专家分:98
注 册:2011-9-5
收藏
得分:0 
程序代码:
#include<stdio.h>  
#define M 10  
void main()  
{   int a[M][M], i , j ;  
   
    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]);  
        if(i==j)
        printf("\n");  
    }  
} 
2011-09-05 13:32
等you
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2014-4-18
收藏
得分:0 
#include <stdio.h>
#define M 10
int main()
{
    int a[M][M]={0},i,j;
    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("%4d",a[i][j]);
    if(i==j)printf("\n");
        }     
        return 0;
}

请教一下,为啥这个程序输出后不能换行呢?
2014-04-22 22:20
ZZZSS00
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2014-4-28
收藏
得分:0 
因为你的数组的赋值与输出是同时进行的,应该再建立一个二重循环专门用来输出。
源代码:
#include <stdio.h>
#define M 10
int main()
{
    int a[M][M]={0},i,j;
   
    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];
            
        }
        for(i=0;i<M;i++)
        {for(j=0;j<=i;j++)
        printf("%4d",a[i][j]);
        printf("\n");}
        return 0;
}
2014-04-28 23:55
zxy3848
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2019-11-12
收藏
得分:0 
#include<stdio.h>
main()
{
    int a[10][10],i,j;

j=0,i=0;

for(i=0;i<=9;i++)         
for(j=0;j<i;j++)
{

    if(j=0||j==i)

    {a[i][j]=1;}

else
{a[i][j]=a[i-1][j-1]+a[i-1][j];}

}
for(i=0;i<=9;i++)
for(j=0;j<=i;j++)
{
printf("%d",a[i][j]);
printf("\n");
}}
能运行  但为啥不输出呢?求解
2019-11-12 21:11
快速回复:输出杨辉三角前10行
数据加载中...
 
   



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

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