用C语言做一个可进行加减乘除的400位计算器?(求思路)要求:1 进行运算的两个数为十进制数,进行加减乘除的四则运算.2 位数在400位(包括400位)以下本人刚开始学C语言,这个题目完全没有
来源:学生作业帮助网 编辑:作业帮 时间:2024/06/30 07:19:44
![用C语言做一个可进行加减乘除的400位计算器?(求思路)要求:1 进行运算的两个数为十进制数,进行加减乘除的四则运算.2 位数在400位(包括400位)以下本人刚开始学C语言,这个题目完全没有](/uploads/image/z/955472-32-2.jpg?t=%E7%94%A8C%E8%AF%AD%E8%A8%80%E5%81%9A%E4%B8%80%E4%B8%AA%E5%8F%AF%E8%BF%9B%E8%A1%8C%E5%8A%A0%E5%87%8F%E4%B9%98%E9%99%A4%E7%9A%84400%E4%BD%8D%E8%AE%A1%E7%AE%97%E5%99%A8%3F%EF%BC%88%E6%B1%82%E6%80%9D%E8%B7%AF%EF%BC%89%E8%A6%81%E6%B1%82%EF%BC%9A1+%E8%BF%9B%E8%A1%8C%E8%BF%90%E7%AE%97%E7%9A%84%E4%B8%A4%E4%B8%AA%E6%95%B0%E4%B8%BA%E5%8D%81%E8%BF%9B%E5%88%B6%E6%95%B0%2C%E8%BF%9B%E8%A1%8C%E5%8A%A0%E5%87%8F%E4%B9%98%E9%99%A4%E7%9A%84%E5%9B%9B%E5%88%99%E8%BF%90%E7%AE%97.2+%E4%BD%8D%E6%95%B0%E5%9C%A8400%E4%BD%8D%EF%BC%88%E5%8C%85%E6%8B%AC400%E4%BD%8D%EF%BC%89%E4%BB%A5%E4%B8%8B%E6%9C%AC%E4%BA%BA%E5%88%9A%E5%BC%80%E5%A7%8B%E5%AD%A6C%E8%AF%AD%E8%A8%80%2C%E8%BF%99%E4%B8%AA%E9%A2%98%E7%9B%AE%E5%AE%8C%E5%85%A8%E6%B2%A1%E6%9C%89)
用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的代码,还是工程文件中的一个子文件.这根本编译不通的,有本事直接把界面一起拷贝给提问者算了.
附上运行结果: