不是VIP会员,不能显示答案

题目解答

题目:
#include <bits/stdc++.h>

using namespace std;

struct Big_int {

int a[1000], len;

Big_int() {

memset(a,0,sizeof(a));

len=1;

}

Big_int(string s) {

len=s.size();

for(int i=len; i>=1; i--) a[i]=s[len-i]-'0';

}

void print() {

int i=len;

for(; i>1; i--) if(a[i]>0) break;

for(int j=i; j>=1; j--) cout<<a[j];

}

Big_int operator+ (const Big_int &x) {

Big_int ans;

ans.len= (len>x.len?len:x.len) ;

for(int i=1; i<=ans.len; i++) {

ans.a[i]+=a[i]+x.a[i];

ans.a[i+1]+=ans.a[i]/10;

ans.a[i]%=10;

}

if (ans.a[ans.len+1]>0) ans.len++;

return ans;

}

};

string s;

int main() {

cin>>s;

Big_int a(s);

cin>>s;

Big_int b(s);

Big_int c=a+b;

c.print();

return 0;

}




判断题

1) C++语言中,struct默认是public 的,而class默认是private的。( )

2) 第06行memset的作用是对a数组里的所有元素设置为0,因为a数组里的元素是int类型的,所以memset是以4个字节为一组进行设置的。( )

3) 第07行len=1;改成len=0;程序的运行结果不变。( )

4) 去除第14行int i=len;将这句话写入第15行,改成for(int i=len;i>1;i--),程序的运行结果不变。( )

5) 第18行Big_int operator +(const Big_int &x)改成Big_int operator + (Big_int x),程序的运行结果不变。( )

6) 第22行ans.a[i]+=a[i]+x.a[i];改成ans.a[i]=a[i]+x.a[i],程序的运行结果不变。( )


选择题

7) 若输入010 ↓ 0090 ↓则输出为( )。


考点:
分析:
解答:
评论:
老师: