设计一个程序实现两个任意长的整数的求和运算.设计一个实现任意长的整数进行加法运算的演示程序.要求输入和输出每四位一组,组间用逗号隔开.如:1,0000,0000,0000,0000.程序代码不要有错、
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/02 03:59:50
![设计一个程序实现两个任意长的整数的求和运算.设计一个实现任意长的整数进行加法运算的演示程序.要求输入和输出每四位一组,组间用逗号隔开.如:1,0000,0000,0000,0000.程序代码不要有错、](/uploads/image/z/8553332-20-2.jpg?t=%E8%AE%BE%E8%AE%A1%E4%B8%80%E4%B8%AA%E7%A8%8B%E5%BA%8F%E5%AE%9E%E7%8E%B0%E4%B8%A4%E4%B8%AA%E4%BB%BB%E6%84%8F%E9%95%BF%E7%9A%84%E6%95%B4%E6%95%B0%E7%9A%84%E6%B1%82%E5%92%8C%E8%BF%90%E7%AE%97.%E8%AE%BE%E8%AE%A1%E4%B8%80%E4%B8%AA%E5%AE%9E%E7%8E%B0%E4%BB%BB%E6%84%8F%E9%95%BF%E7%9A%84%E6%95%B4%E6%95%B0%E8%BF%9B%E8%A1%8C%E5%8A%A0%E6%B3%95%E8%BF%90%E7%AE%97%E7%9A%84%E6%BC%94%E7%A4%BA%E7%A8%8B%E5%BA%8F.%E8%A6%81%E6%B1%82%E8%BE%93%E5%85%A5%E5%92%8C%E8%BE%93%E5%87%BA%E6%AF%8F%E5%9B%9B%E4%BD%8D%E4%B8%80%E7%BB%84%2C%E7%BB%84%E9%97%B4%E7%94%A8%E9%80%97%E5%8F%B7%E9%9A%94%E5%BC%80.%E5%A6%82%EF%BC%9A1%2C0000%2C0000%2C0000%2C0000.%E7%A8%8B%E5%BA%8F%E4%BB%A3%E7%A0%81%E4%B8%8D%E8%A6%81%E6%9C%89%E9%94%99%E3%80%81)
设计一个程序实现两个任意长的整数的求和运算.设计一个实现任意长的整数进行加法运算的演示程序.要求输入和输出每四位一组,组间用逗号隔开.如:1,0000,0000,0000,0000.程序代码不要有错、
设计一个程序实现两个任意长的整数的求和运算.
设计一个实现任意长的整数进行加法运算的演示程序.要求输入和输出每四位一组,组间用逗号隔开.如:1,0000,0000,0000,0000.
程序代码不要有错、因为我不会改、最好是直接能让我黏贴就好.
设计一个程序实现两个任意长的整数的求和运算.设计一个实现任意长的整数进行加法运算的演示程序.要求输入和输出每四位一组,组间用逗号隔开.如:1,0000,0000,0000,0000.程序代码不要有错、
#include
#include
using namespace std;
int main()
{
\x09string a,b;
\x09int *sum;
\x09int i,ja,jb;
\x09cout a >> b;
\x09string temp;
\x09if ( a.size() > b.size() ) // 如果a长度大于b,则交换两字符串
\x09{
\x09\x09temp = a;
\x09\x09a = b;
\x09\x09b = temp;
\x09}
\x09// 在这后,就肯定是a的长度比b小,所以和的位数最大就是b的位数+1.
\x09sum = new int[b.size()+1]; // 所以给和申请b的位数+1个位置.
\x09sum[0] = 0;
\x09char achar[1];
\x09char bchar[1];
\x09int carry = 0; // 记录进位
\x09int sizeDif = b.size() - a.size(); // 记录两个数字的位数差
\x09int count; // 记录和的位数
\x09for ( ja = a.size()-1,jb = b.size()-1; ja >= 0; ja--,jb-- )
\x09{
\x09\x09achar[0] = a[ja];
\x09\x09bchar[0] = b[jb];
\x09\x09sum[jb+1] = atoi(achar) + atoi(bchar) + carry;
\x09\x09carry = 0; // 清空进位标志位
\x09\x09if( sum[jb+1] > 9 )
\x09\x09{
\x09\x09\x09carry = 1;
\x09\x09\x09sum[jb+1] -= 10; // 使之成为一位数,方便输出.
\x09\x09}
\x09}
\x09for ( i = sizeDif-1; i >= 0 ; i-- )
\x09{
\x09\x09bchar[0] = b[i];
\x09\x09sum[i+1] = atoi(bchar); // 转换为数字
\x09\x09carry = 0; // 清空进位标志位
\x09\x09if( sum[i+1] > 9 )
\x09\x09{
\x09\x09\x09carry = 1;
\x09\x09\x09sum[i+1] -= 10; // 使之成为一位数,方便输出.
\x09\x09}
\x09}
\x09cout