| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
共有 1216 人关注过本帖
标题:高精度除法
取消只看楼主 加入收藏
sunyh1999
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:14
帖 子:1178
专家分:3032
注 册:2009-5-17
结帖率:79.37%
收藏
已结贴  问题点数:20 回复次数:0 
高精度除法
我写了代码,带余数,但是除下来结果不正确,余数是正确的,但是结果不正确:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void print(int sum[],int length)
{
    int i;
    for(i=length-1;i>=0;i--)
    printf("%d",sum[i]);
    printf("\n");
}
int division(int a[],long b,int sum[],int a_length)
{
    long i,temp=0,sum_length;
    for(i=a_length-1;i>=0;i--)
    {
    temp=temp*10+a[i];
    sum[i]=temp/b;
    temp=temp%b;
    }
    sum_length=a_length;
    while(sum_length>0&&sum[sum_length]==0) sum_length--;
    print(sum,sum_length);
    return temp;
}
int main()
{
    char a[1000];
    int length=0,i;
    long B,mod;
    int sum[1000]={0},A[1000]={0};
    gets(a);
    length=strlen(a);
    for(i=0;i<length;i++)
    A[i]=a[i]-48;
    scanf("%ld",&B);
    mod=division(A,B,sum,length);
    printf("%ld\n",mod);
    system("pause");
    return 0;
}

欢迎来到我的博客:http://blog..cn/noisunyuhong
2011-02-09 16:52
快速回复:高精度除法
数据加载中...
 
   



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

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