问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

用c语言写基于静态数组的长整数的加减乘除运算的代码如何写

发布网友 发布时间:2022-05-23 16:25

我来回答

1个回答

热心网友 时间:2023-10-29 02:43

加法:

voidAdd(char s1[],char s2[])//参数为两个字符串数组
{
    int num1[M],num2[M];
    int i,j;
    len1 = strlen (s1);
    len2 = strlen (s2);
    for (i = len1-1,j = 0; i >= 0; i--)//num1[0]保存的是低位
        num1[j++]= s1[i] - '0';
    for (i = len2-1,j = 0; i >= 0; i --)
        num2[j++] = s2[i] - '0';
    for (i = 0; i < M; i ++)
    {
        num1[i] += num2[i];
        if (num1[i] > 9)
        {
            num1[i] -= 10;
            num1[i+1] ++;
        }
    }
 for(i = M-1; (i >= 0)&&(num1[i] == 0); i --) ;//找到第一个不是                         0的数的位置
    if (i>= 0)      //从高位到低位输出每个数
        for(; i >= 0; i --)
            printf ("%d",num1[i]);
     else
            printf ("0\n");
}

减法等于加上负的数

乘法

voidMulti(char str1[],char str2[])
{
    int len1,len2,i,j;
    int a[MAX+10],b[MAX+10],c[MAX*2+10];
    memset (a,0,sizeof(a));
    memset (b,0,sizeof(b));
    memset (c,0,sizeof(c));
    len1=strlen(str1);
    for(j=0,i=len1-1; i>=0; i--)//把数字倒过来
        a[j++]=str1[i]-'0';
    len2=strlen(str2);
    for(j=0,i=len2-1; i>=0; i--)//倒转第二个整数
        b[j++]=str2[i]-'0';
    for(i=0; i<len2; i++)//用第二个数乘以第一个数,每次一位
        for(j=0;j<len1; j++)
            c[i+j]+= b[i]*a[j]; //先乘起来,后面统一进位
for(i=0;i<MAX*2; i++)//循环统一处理进位问题
        if(c[i]>=10)
        {
            c[i+1]+=c[i]/10;
            c[i]%=10;
        }
 
    for(i=MAX*2; (c[i]==0)&&(i>=0);i--);//跳过高位的0
    if(i>=0)
        for(; i>=0; i--)
            printf("%d", c[i]);
    else
        printf("0");
    pritnf("\n");

除法最难  看这里吧http://wenku.baidu.com/link?url=rvqp3ApH2ujxsqTnoEnUmxc-hcvZz0Z8aV2NbvdxKOjBwRqx60Gju0ll56kccdo7u2_Kw8J1BGMlQpYmBhg4nT4lp7xt7mGtqaPV7x4CI-y(你们竟然会布置除法!  一般都是到乘法)

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
粒上皇开口熟栗120g*5袋(共600g)-详细介绍 三皇王板栗介绍 品牌榜:2024年板栗十大品牌排行榜 投票结果公布【新】 为什么来大姨妈胸会胀 少儿学什么舞蹈 青年学什么舞蹈好 成年人学什么舞蹈 福州企业最低工资标准 2013年厦门的底薪是多少 生产要素的需求有哪些性质 用c写个计算机,要求能实现加减乘除,我需要具体代码 年轻人一事无成是种怎样的体验? 我多36岁了,到现在一事无成,老婆也没有,也没存款,我该怎么办呀? 男人36岁。即一事无成也没有结婚。算不算正常。 朋友可怜呀36岁没老婆,一事无成悲剧? 我现在36岁了还一事无成,但觉得自己还算有生意头脑,所以以后打算让 弗洛姆爱的本质是什么 什么叫“弗洛姆效应”? 朋友的哥哥36岁一事无成悲剧,没老婆好吃懒做? 36岁一事无成目前只有A3驾驶证怎么办 我到36岁了还是一事无成怎么办啊 儿子36岁一事无成,没有成家,此时不管儿子了,有份退休工资,每天游山玩水,是不是晚年非常红火? 弗洛姆是什么时代的人 精神分析社会学派 36岁了,一事无成啥都不会该怎样规划余生啊 艾瑞克·弗洛姆的简介 36岁一事无成该做些什么? 艾瑞克·弗洛姆的生平与经历 36 一把年纪 还一事无成 连个稳定工作都没,开始新行业销售,2月没成绩 感觉活的很西荒 请运用弗洛姆的哲学观点阐述爱的本质是什么 本人36了,到现在一事无成,有过几次创业失败的经历,现在想找份工作都不知道自己能干点啥,茫然沮丧 求能进行加减乘除的c程序代码,能在vc6上用(追加到100) 请问滴滴快车钱包可以转到微信钱包上吗 滴滴可以提现到微信吗 免费看电影的网站那个好啊 《只要不卡的那种》 谁有好的免费看电影的网站啊??? 免费看电影的网站哪个好? 木门上的透明胶印迹怎么去除 有什么好的电脑屏幕录制软件推荐下,我需要能录声音的! 一部时间电影~ 《消失爱人》是一部怎样的电影呢? 黄子韬的新综艺《赶在一切消失前》,大家会去看吗? 消失行动的影片评价 c语言怎样写头文件 C语言中怎么写头文件? 关于C语言头文件的编写 C语言头文件里面应该写什么东西 c语言头文件如何编写 铁钉导电吗 铁钉表面生锈后是否可以导电 两周年简短语录有哪些?