| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 552 人关注过本帖
标题:求教:程序算法可能出错了,输出结果不对
取消只看楼主 加入收藏
白金伯爵
Rank: 2
等 级:论坛游民
帖 子:47
专家分:48
注 册:2015-9-21
结帖率:75%
收藏
已结贴  问题点数:20 回复次数:4 
求教:程序算法可能出错了,输出结果不对
程序代码:
//杨辉三角
/*杨辉三角的特性:
1.每个数等于它上方两数之和。
2.每行数字左右对称,由1开始逐渐变大。
3.第n行数字有n项。
4.第n行数字之和为2^n-1。
5.第n行的第m个数可表示为c(n-1,m-1)。
*/
#include<stdio.h>

int choses(int a,int b)
{
    int c=1;
    while(b>0)
    {
        c*=a--;
        b--;    
    }    
    while(b>1)
    {
        c/=b--;    
    }
    return c;
}

int main(void)
{
    int a[5][5]={0};
    int i,j;
    for(i=1;i<=5;i++)
    {
        for(j=1;j<=5;j++)
        {
            a[i][j]=choses(i-1,j-1);
            printf("%d    ",a[i][j]);    
        }    
        printf("\n");
    }
    return 0;    
}

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

可能算法有问题,请大神帮助!
搜索更多相关主题的帖子: 杨辉三角 左右 
2015-11-12 09:58
白金伯爵
Rank: 2
等 级:论坛游民
帖 子:47
专家分:48
注 册:2015-9-21
收藏
得分:0 
回复 2楼 li459461891
谢谢!
这个是我疏忽了。
可是更改了循环起始值后,编译不报错了,但是结果还是错的。。。
2015-11-12 10:41
白金伯爵
Rank: 2
等 级:论坛游民
帖 子:47
专家分:48
注 册:2015-9-21
收藏
得分:0 
回复 3楼 wp231957
谢谢!
数组溢出这个确实是我的失误,已更改。
这段代码编写的思路是根据杨辉三角的第5个特性展开的,即:第n行的第m个数可表示为c(n-1,m-1)。
现在不知道是编写的哪个部分有问题,输出结果不对。
2015-11-12 10:43
白金伯爵
Rank: 2
等 级:论坛游民
帖 子:47
专家分:48
注 册:2015-9-21
收藏
得分:0 
回复 6楼 azzbcc
谢谢!
受教了!
2015-11-13 08:31
白金伯爵
Rank: 2
等 级:论坛游民
帖 子:47
专家分:48
注 册:2015-9-21
收藏
得分:0 
程序代码:
//杨辉三角
/*杨辉三角的特性:
1.每个数等于它上方两数之和。
2.每行数字左右对称,由1开始逐渐变大。
3.第n行数字有n项。
4.第n行数字之和为2^n-1。
5.第n行的第m个数可表示为c(n-1,m-1)。
*/
#include<stdio.h>

int choses(int a,int b)
{
    int c=1,cnt=b;
    while(cnt>0)
    {
        c*=a--;
        cnt--;    
    }    
    while(b>1)
    {
        c/=b--;    
    }
    return c;
}

int main(void)
{
    int a[5][5]={0};
    int i,j;
    for(i=0;i<5;i++)
    {
        for(j=0;j<5;j++)
        {
            a[i][j]=choses(i,j);
            printf("%d    ",a[i][j]);    
        }    
        printf("\n");
    }
    return 0;    
}

输出结果对了。
另,请问如果想通过输入确定输出的杨辉三角阶数,怎么定义a[][]这个二维数组啊?
2015-11-13 08:33
快速回复:求教:程序算法可能出错了,输出结果不对
数据加载中...
 
   



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

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