梦想是代码一写就对 2022-06-17 17:11 采纳率: 65%
浏览 36

c++代码,大一学生刚接触这个语言


#include
#include
using namespace std;
#define length 41
//write your code here
class HugeInteger
{
public:
HugeInteger()
{size=0;}
HugeInteger(char t[])
{
int z;
for(z=0; t[z]!='/0';z++)
{




```}
        p=new int [z-1];
        for(z=0;t[z]!='\0';z++)
        {
            *(p+z)=t[z]-48;
        }
        size=z;
    }
    HugeInteger(HugeInteger &pt)
{
    p=new int [pt.size];
    for(int i=0;(*(pt.p+i))!='\0';i++)
    *(p+i)=*(pt.p+i);
}
    ~HugeInteger(){delete p;}
    void input(char s[])
    {
        int z;
        if(s[z]!='\0'){z++;}
        p=new int [z-1];
        for(z=0;s[z]!='\0';z++)
        {
            *(p+z)=s[z]-48;
        }
        size=z;
    }
    void output()
    {   if(size<=40)
        {
        int i;
        for(i=0;i<size;i++)
        {cout<<*(p+i);}
        }
        else
        {cout<<"outrage";}
    }
    HugeInteger add(HugeInteger &b)
    {
        long int sum1=0,sum2=0;
        int i,j,mii=b.size;
        for(j=mii-1,i=0;(j<mii)&&(i<=mii-1);j--,i++)
        {
            sum1=sum1+((*(b.p+j))*(pow(10,i)));
        }
        int j1,i1;
        for(j1=mii-1,i1=0;(j1<size)&&(i1<=size-1);i1++,j1--)
        {
            sum2=sum2+((*(p+j1))*(pow(10,i1)));
        }
        long long int sum=sum1+sum2;
        long long int summ=sum;
        //判断是几位数
        int len=0;
        while(sum){sum=sum/10;len++;} 
        int temp=pow(10,len-1);
        int k=len,n=0,tap[length];
        for(;(k>=0)&&(n<=len-1);n++)
        {
            tap[n]=(summ/temp);
            summ=summ-(tap[n]*temp);
            k=k-1;
            temp=pow(10,k);
        }
        HugeInteger *r=new HugeInteger;
        int z;char tem[length];
        for(z=0;tap[z]!='\0';z++)
        {
            tem[z]=tap[z]+48;
        }
        r->input(tem); 
        return *r;
    }
    private:
    int *p;
    int size;
};
int main()
{
    HugeInteger hi1;
    char *c = new char[length];
    cin >> c;
    char *d = new char[length];
    cin >> d;
    hi1.input(c);
    HugeInteger hi2(d);
    (hi1.add(hi2)).output();
    return 0;
    delete [] c;
    delete [] d;
}****

```

  • 写回答

1条回答 默认 最新

  • 关注

    你是想问什么问题呢?

    评论

报告相同问题?

问题事件

  • 请详细说明问题背景 6月17日
  • 创建了问题 6月17日

悬赏问题

  • ¥15 如何构建全国统一的物流管理平台?
  • ¥100 ijkplayer使用AndroidStudio/CMake编译,如何支持 rtsp 直播流?
  • ¥20 和学习数据的传参方式,选择正确的传参方式有关
  • ¥15 这是网络安全里面的poem code
  • ¥15 用js遍历数据并对非空元素添加css样式
  • ¥15 使用autodl云训练,希望有直接运行的代码(关键词-数据集)
  • ¥50 python写segy数据出错
  • ¥20 关于线性结构的问题:希望能从头到尾完整地帮我改一下,困扰我很久了
  • ¥30 3D多模态医疗数据集-视觉问答
  • ¥20 设计一个二极管稳压值检测电路