| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 323 人关注过本帖
标题:高进度乘法
取消只看楼主 加入收藏
双子若尘
Rank: 1
来 自:福州
等 级:新手上路
帖 子:21
专家分:0
注 册:2012-12-13
结帖率:100%
收藏
已结贴  问题点数:14 回复次数:2 
高进度乘法


那位好心帮我看一下问题出在哪呢,,,急!!!!多谢了











输入只包含一行,包括两个整数A和B,A、B用空格隔开。(0<=A,B<=10^1000)




输出格式


输出一行,A和B的乘积。




样例输入


111111111111 111111111111




样例输出


12345679012320987654321
#include<stdio.h>
#include<string.h>
#define l 1001
int main()
{
    char s1[l],s2[l],s3[l];
    int n1[l],n2[l],n3[l]={0};
    int len1,len2,i,j,t;
    scanf("%s %s",s1,s2);
    len1=strlen(s1);
    len2=strlen(s2);
    for(i=0,j=len1-1;j>=0;j--,i++)                                 //用下标代替位数,
        n1[j]=s1[i]-'0';
    for(i=0,j=len2-1;j>=0;i++,j--)
        n2[j]=s2[i]-'0';
    for(i=0;i=len1-1;i++)
    {
        for(j=0;i<len2-1;j++)
        {
            n3[i+j]+=n1[i]*n2[j];
        }
        j=0;
    }
    for(i=0;n3[i]!=0;i++)                                                 //若过10,向前进1.
    {
        if(n3[i]>=10)
        {
            n3[i+1]+=n3[i]/10;
            n3[i]=n3[i]%10;
        }
    }
    for(i=2*l;n3[i]==0;i--)
    {
        if(n3[i]!=0)
            t=i;
        break;
    }
    for(j=t;j>=0;j--)
        printf("%d ",n3[j]);
    printf("\n");
    return 0;
}


   


[ 本帖最后由 双子若尘 于 2013-1-9 14:19 编辑 ]
搜索更多相关主题的帖子: include 
2013-01-09 14:14
双子若尘
Rank: 1
来 自:福州
等 级:新手上路
帖 子:21
专家分:0
注 册:2012-12-13
收藏
得分:0 
我是将位数一样的加在一起,我改了之后,还是不行
2013-01-09 14:37
双子若尘
Rank: 1
来 自:福州
等 级:新手上路
帖 子:21
专家分:0
注 册:2012-12-13
收藏
得分:0 
就在上面,一楼
2013-01-09 15:02
快速回复:高进度乘法
数据加载中...
 
   



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

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