标题:多项式相加代码
只看楼主
hugonnyy
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2012-12-4
结帖率:100%
已结贴  问题点数:20 回复次数:3 
多项式相加代码
这个是一个将多项式相加的程序代码,检测没有错误,可是为什么执行的时候就没有结果出来?
#include <stdio.h>

#define DUMMY -1

void padd(int a[],int b[],int c[]);
void output_p(int a[],int b);
char compare(int a,int b);

void main ()
{   

    int A[]={DUMMY,3,4,5,2,3,0,2};
    int B[]={DUMMY,3,3,6,2,2,0,1};
    int C[20]={DUMMY};

    padd(A,B,C);
    printf("\nA=");
    output_p(A,A[1]*2+1);
    printf("\nB=");
    output_p(B,B[1]*2+1);
    printf("\nC=");
    output_p(C,C[1]*2+1);

}

void padd(int a[],int b[],int c[])
{
    char result;
    int m,n,p,q,r;
    p=q=r=2;m=a[1];n=b[1];
    while((p<=2*m)&&(q<=2*n))
    {
        result=compare(a[p],b[q]);
        switch (result)
        {
        case '=':
            c[r+1]=a[p+1]+b[q+1];
            if(c[r+1]!=0)
            {
                c[r]=a[p];
                r=r+2;
            }
            m=m+2;n=n+2;
            break;
        case '>':
            c[r+1]=a[p+1];
            c[r]=a[p];
            r=r+2;
            p=p+2;
            break;
        case '<':
            c[r+1]=b[q+1];
            c[r]=b[q];
            r=r+2;
            q=q+2;
            break;
        }
    }


    while(q<=2*m)
    {
        c[r]=b[q];
        c[r+1]=b[q+1];
        r=r+2;q=q+2;
    }
    while(p<=2*m)
    {
        c[r]=a[p];
        c[r+1]=a[p+1];
        r=r+2;p=p+2;
    }
    c[1]=r/2+1;
}

char compare(int a,int b)
{
    if(a>b)
        return '>';
    else if (a==b)
        return '=';
    else
        return '<';
}

void output_p(int a[],int b)
{
    int i;
    printf("\n(");
    for(i=1;i<=b;i++)
        printf("%3d",a[i]);
    printf(")");
}

请大神帮忙解答
搜索更多相关主题的帖子: void compare include 多项式 
2012-12-04 23:38
jk_love
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:1
帖 子:196
专家分:965
注 册:2012-10-22
得分:20 
while((p<=2*m)&&(q<=2*n))
何时能退出循环?
数组早越界没?弄清楚就没问题了
2012-12-05 09:27
hugonnyy
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2012-12-4
得分:0 
love,你好,我检查了一遍,还是没有发现,你可以说得详细一点吗?
2012-12-05 18:26
hugonnyy
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2012-12-4
得分:0 
ok,我找到了,谢谢你 拉
2012-12-05 21:19



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-389619-1-1.html




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

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