用C语言做一个可进行加减乘除的400位计算器?(求思路)要求:1 进行运算的两个数为十进制数,进行加减乘除的四则运算.2 位数在400位(包括400位)以下本人刚开始学C语言,这个题目完全没有
来源:学生作业帮助网 编辑:作业帮 时间:2024/05/13 14:32:51
用C语言做一个可进行加减乘除的400位计算器?(求思路)要求:1 进行运算的两个数为十进制数,进行加减乘除的四则运算.2 位数在400位(包括400位)以下本人刚开始学C语言,这个题目完全没有
用C语言做一个可进行加减乘除的400位计算器?(求思路)
要求:
1 进行运算的两个数为十进制数,进行加减乘除的四则运算.
2 位数在400位(包括400位)以下
本人刚开始学C语言,这个题目完全没有方向,
用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的代码,还是工程文件中的一个子文件.这根本编译不通的,有本事直接把界面一起拷贝给提问者算了.
附上运行结果: