作业帮 > 综合 > 作业

用C语言做一个可进行加减乘除的400位计算器?(求思路)

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/04/26 20:48:17
用C语言做一个可进行加减乘除的400位计算器?(求思路)
要求:
1 进行运算的两个数为十进制数,进行加减乘除的四则运算.
2 位数在400位(包括400位)以下
本人刚开始学C语言,这个题目完全没有方向,
这个可以用一位全加器的思路解决,用一个我有不限位数加法的C语言代码,做ACM的时候的,你再联想一下就可以写出来了.
思路,用一个大数组,一位一位的加.
代码:
#include <stdio.h>
int main()
{
 int a[240]={0},b[240]={0},c[241]={0};
 int i,ka,kb,k;
 char a1[240],b1[240];
 gets(a1);
 ka=strlen(a1); 
 gets(b1);
 kb=strlen(b1);
 if(ka>=kb) k=ka;
 else k=kb;
 for(i=0;i<ka;i++) 
 a[i]=a1[ka-i-1]-'0';
 for(i=0;i<kb;i++)
 b[i]=b1[kb-i-1]-'0';
 for(i=0;i<k;i++)
 {
  c[i]=a[i]+b[i]+c[i];
  c[i+1]=c[i+1]+c[i]/10;
  c[i]=c[i]%10;
 }
  if(c[k]) k++;
  for(i=k-1;i>=0;i--) 
  printf("%d",c[i]);
  getchar();
  return 0;
}
这个只有240位,你可以将数组改大点,但是C必须比加数多一位,否则溢出.
楼上几位太不给力了啊,不知道从哪儿粘贴来MFC的代码,还是工程文件中的一个子文件.这根本编译不通的,有本事直接把界面一起拷贝给提问者算了. 
附上运行结果: