| 网站首页 | 业界新闻 | 小组 | 交易 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
共有 772 人关注过本帖
标题:有个程序不知道问题出在哪儿,求助。
只看楼主 加入收藏
梦寻
Rank: 1
等 级:新手上路
帖 子:27
专家分:6
注 册:2017-11-15
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:9 
有个程序不知道问题出在哪儿,求助。
希望输出杨辉三角(10行),但似乎不行,可我并不知道问题出在哪儿。
#include<stdio.h>
int main()
{
    int a[10][10],i,j;
    for(i=0;i<=9;i++)
    {
            for(j=0;j<=9;j++)
        {
         if(j==0)
         a[i][j]=1;
         if(i==j)
         a[i][j]=1;
         if(j<i);
         a[i][j]=a[i-1][j]+a[i-1][j-1];
         if(j>i)
         a[i][j]=0;
        }
       }
   for(i=0;i<=9;i++)
    {
            for(j=0;j<=9;j++)
              printf("%d ",a[i][j]);
            printf("\n");
       }
    return 0;
}
搜索更多相关主题的帖子: 杨辉三角 int for i++ printf 
2017-11-25 15:07
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:255
帖 子:7359
专家分:33061
注 册:2014-5-20
收藏
得分:10 
            if(j==0)
                a[i][j]=1;
            else if(i==j)
                a[i][j]=1;
            //if(j<i);
            else if(j<i)
                a[i][j]=a[i-1][j]+a[i-1][j-1];
            else if(j>i)
                a[i][j]=0;
2017-11-25 15:52
梦寻
Rank: 1
等 级:新手上路
帖 子:27
专家分:6
注 册:2017-11-15
收藏
得分:0 
回复 2楼 吹水佬
我修改之后,结果不能编译;
再次改了之后还是出现
11343290 0 0 0 0 0 0 0 0 0
11343290 11343290 0 0 0 0 0 0 0 0
11343290 22686580 11343290 0 0 0 0 0 0 0
11343290 34029870 34029870 11343290 0 0 0 0 0 0
11343290 45373160 68059740 45373160 11343290 0 0 0 0 0
11343290 56716450 113432900 113432900 56716450 11343290 0 0 0 0
11343290 68059740 170149350 226865800 170149350 68059740 11343290 0 0 0
11343290 79403030 238209090 397015150 397015150 238209090 79403030 11343290 0 0
11343290 90746320 317612120 635224240 794030300 635224240 317612120 90746320 11343290 0
11343290 102089610 408358440 952836360 1429254540 1429254540 952836360 408358440 102089610 11343290
2017-11-25 18:06
ljwgogo
Rank: 2
等 级:论坛游民
威 望:1
帖 子:7
专家分:23
注 册:2017-11-15
收藏
得分:10 
回复 3楼 梦寻
#include<stdio.h>
int main()
{
    int a[10][10],i,j;
    for(i=0;i<=9;i++)
    {
            for(j=0;j<=9;j++)
        {
         if(j==0)
         a[i][j]=1;
         if(i==j)
         a[i][j]=1;
         if(j<i);//这里多了一个分号
         a[i][j]=a[i-1][j]+a[i-1][j-1];
         if(j>i)
         a[i][j]=0;
        }
       }
   for(i=0;i<=9;i++)
    {
            for(j=0;j<=9;j++)
              printf("%d ",a[i][j]);
            printf("\n");
       }
    return 0;
}
2017-11-25 20:21
ljwgogo
Rank: 2
等 级:论坛游民
威 望:1
帖 子:7
专家分:23
注 册:2017-11-15
收藏
得分:0 
回复 楼主 梦寻
#include<stdio.h>
int main()
{
    int a[10][10],i,j;
    for(i=0;i<=9;i++)
    {
            for(j=0;j<=9;j++)
        {
         if(j==0)
         a[i][j]=1;
         else if(i==j)
         a[i][j]=1;
         else if(j<i)
         a[i][j]=a[i-1][j]+a[i-1][j-1];
         else if(j>i)
         a[i][j]=0;
        }
       }
   for(i=0;i<=9;i++)
    {
            for(j=0;j<=9;j++)
              printf("%d ",a[i][j]);
            printf("\n");
       }
    return 0;
}


//刚才那个能出结果,结果不对,这个应该是对的(vc6.0编译)
2017-11-25 20:27
梦寻
Rank: 1
等 级:新手上路
帖 子:27
专家分:6
注 册:2017-11-15
收藏
得分:0 
回复 4楼 ljwgogo
果然是这个原因,谢谢帮助!
2017-11-26 10:46
梦寻
Rank: 1
等 级:新手上路
帖 子:27
专家分:6
注 册:2017-11-15
收藏
得分:0 
回复 2楼 吹水佬
谢谢帮助!
2017-11-26 10:47
梦寻
Rank: 1
等 级:新手上路
帖 子:27
专家分:6
注 册:2017-11-15
收藏
得分:0 
回复 2楼 吹水佬
我居然没有看出您的意思是多了个分号,谢谢帮助!
2017-11-26 10:51
lmh153866
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2017-11-26
收藏
得分:0 
if(j<i)
         a[i][j]=a[i-1][j]+a[i-1][j-1];
         else if(j>i)
         a[i][j]=0;
这几步又错,计算时a[i][j]里面还没有值
2017-11-26 13:07
梦想远航lyz
Rank: 2
等 级:论坛游民
威 望:1
帖 子:38
专家分:66
注 册:2017-10-23
收藏
得分:0 
#include <stdio.h>

int main()
{
   
    int i,j,n,k;
   
    printf("please input line is:");
    scanf("%d",&n);

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

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

        for(j = 0;j < i+1;j++)
        {
            printf("%d ",a[i][j]);
        }

        printf("\n");
        sleep(1);
    }

    return 0;
}
2017-11-26 21:20
快速回复:有个程序不知道问题出在哪儿,求助。
数据加载中...
 
   



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

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