标题:用数组表示的int数 乘法得出的结果怎么这么变态。。。。求高手指点菜鸟(第 ...
取消只看楼主
sd791002
Rank: 2
等 级:论坛游民
帖 子:88
专家分:87
注 册:2010-4-3
结帖率:85.71%
已结贴  问题点数:10 回复次数:4 
用数组表示的int数 乘法得出的结果怎么这么变态。。。。求高手指点菜鸟(第一次发帖)
#include <stdio.h>
#define MAX 10
void main()
{

    int a[MAX]={7},b[MAX]={7},c[2*MAX];
    int i,j,x,y,z,w;
        for(i=0;i<MAX;i++)
    {
        for(j=0;j<MAX;j++)
        {
            x=a[i]*b[j];
            y=x/10;
            z=x%10;
            w=i+j;
            c[w]=c[w]+z;                         //w=15.   i=5,j=10 or  i=10,j=5  or i=7,j=8.......
            c[w+1]=c[w+1]+y+c[w]/10;
            c[w]=c[w]%10;
        }
    }






    for(i=MAX-1;i>=0;i--)
    {   
        printf("%d",a[i]);
        
    }
    printf("\n");
        for(i=MAX-1;i>=0;i--)
    {   
        printf("%d",b[i]);
        
    }
    printf("\n");
        for(i=2*MAX-1;i>=0;i--)
    {   
        printf("%d",c[i]);
        
    }
    printf("\n");
}
搜索更多相关主题的帖子: int 乘法 点菜 发帖 
2010-04-06 20:11
sd791002
Rank: 2
等 级:论坛游民
帖 子:88
专家分:87
注 册:2010-4-3
得分:0 
a[]和b[]  随便输入一些数字  用于 测试

结果 最简单的7*7居然是个负数   我哭了
2010-04-06 20:41
sd791002
Rank: 2
等 级:论坛游民
帖 子:88
专家分:87
注 册:2010-4-3
得分:0 
1024位的大数相乘   所以用数组来表示大数      然后  自己写大数的加减乘除法

乘法思路明显是对的嘛  但是结果总是出问题
2010-04-06 20:54
sd791002
Rank: 2
等 级:论坛游民
帖 子:88
专家分:87
注 册:2010-4-3
得分:0 
回复 5楼 Devil_W
这个。。。贴子我看过  不过是用的C++写的啊   我不仅要大数的加减乘除 我还要做其他很多运算的  就想用标准C写出来  已经有思路了 但是具体实施的过程中出了问题  所以来请教
2010-04-06 21:06
sd791002
Rank: 2
等 级:论坛游民
帖 子:88
专家分:87
注 册:2010-4-3
得分:0 
回复 7楼 zghnxzdcx
真心膜拜!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
2010-04-06 22:07



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




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

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