用c语言编写程序,求大数加,大数减,大数积,大数除。写四个程序。

第一行输入一个大数,第二行数入一个大数。注意正负哦现在乘除我搞定了,就是加和减不会,主要是正负的问题。感觉很难,谁会啊?给你加分... 第一行输入一个大数,第二行数入一个大数。注意正负哦
现在乘除我搞定了,就是加和减不会,主要是正负的问题。感觉很难,谁会啊?给你加分
展开
 我来答
狄懋E
2014-12-07 · TA获得超过114个赞
知道答主
回答量:75
采纳率:0%
帮助的人:51.6万
展开全部

 既然你乘除都会了,加减就更应该没问题阿。。。

#include<iostream>
using namespace std;
int a[101]={0},b[101]={0};
void init(int a[]) 
{ int i;
  string s; 
  cin>>s;
  a[0]=s.length();  
  for(i=1;i<=a[0];i++)
    a[i]=s[a[0]-i]-'0'; 
}
void print(int a[])  
{
  int i;
  if (a[0]==0){cout<<0<<endl;return;}
  for(i=a[0];i>0;i--) cout<<a[i];
  cout<<endl;
  return ;
}
/*
void jian(int a[],int b[])//计算a=a-b
{ int flag,i; 
  flag=compare(a,b); //调用比较函数判断大小 
  if (flag==0) {a[0]=0;return;} //相等 
  if(flag==1) //大于   
    {for(i=1;i<=a[0];i++) 
       {if(a[i]<b[i]){ a[i+1]--;a[i]+=10;} //若不够减则向上借一位 
        a[i]=a[i]-b[i];
       } 
     while(a[a[0]]==0) a[0]--; //修正a的位数 
     return;
    } 
  if (flag==-1)//小于  则用a=b-a,返回-1 
   { cout<<"-"; 
     for(i=1;i<=b[0];i++)
      {if(b[i]<a[i]){b[i+1]--;b[i]+=10;} //若不够减则向上借一位 
       a[i]=b[i]-a[i];
      } 
     a[0]=b[0]; 
     while(a[a[0]]==0) a[0]--; //修正a的位数 
     return;
   } 
}
*/
void  jia(int a[],int b[]) 
{ int i,k; 
  if(a[0]<b[0])a[0]=b[0];    
  for(i=1;i<=a[0];i++) a[i]+=b[i];   
  for(i=1;i<=a[0];i++)
    { a[i+1]+=a[i]/10;
      a[i]%=10;
    } 
  if(a[a[0]+1]>0) a[0]++;
}
int main()
{
  init(a);init(b);
  jia(a,b);
  print(a);
  return 0;
}

帐号已注销
2014-12-06 · TA获得超过1134个赞
知道小有建树答主
回答量:742
采纳率:73%
帮助的人:426万
展开全部
你说的大数,是指数很大?还是什么,如果数太大,计算机也不能储存了。
C语言double类型的有效位数一般为16位。如果可以存放你所说的大数,那么程序可以实现。如下:
#include<stdio.h>
int main()
{
double a,b;
scanf("%lf",&a);
scanf("%lf",&b);
printf("%g\n",a+b);
return 0;
}

其余三个程序,基本与上面相同,只需要将程序倒数第二行printf("%g\n",a+b);中的“a+b”改为“a-b”,“a*b”,“a/b”就行了!
追问
将近100位
追答
那没办法 计算机也无法精确储存100位的数字,不过可以用一些算法来储存,比如把一个数分为n个数相乘,用n个储存单元来储存着n个数就行了,但是具体怎么分就要看自己用的什么算法了。这里提供一个思路,可以去研究下,当然还有其他算法,比如可以直接把100为分成10个10位数的组合等等。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式