#JC1030. 大整数减法

大整数减法

一、单项选择题(每题2分,共20分)

1、大整数减法处理位数不同的数字,为了个位对齐,需要怎么做?()。 {{ select(1) }}

  • 正序存入整型数组
  • 逆序存入整型数组
  • 直接用long long存储
  • 直接按字符串相减

2、大整数减法中,逆序存储之后,当前位i不够减,高位下标是?()。 {{ select(2) }}

  • i‑1
  • i
  • i+1
  • 0

3、不够减时借位处理代码,下面正确的一组是?()。 {{ select(3) }}

  • a1[i+1]--; a1[i] +=10;
  • a1[i]--; a1[i+1] +=10;
  • a1[i+1]++; a1[i] -=10;
  • a1[i]++; a1[i+1] -=10;

4、大整数减法计算完成后结果出现前导0,需要如何处理?()。 {{ select(4) }}

  • 直接全部输出
  • 找到第一个非0的高位下标,从此处开始输出
  • 删除数组全部0元素
  • 直接输出数组最后一位

5、被减数与减数完全相等,相减结果为0,处理循环for(k=lena‑1;k>0;k--),k最终值为?()。 {{ select(5) }}

  • -1
  • 0
  • lena‑1
  • lena

6、判断大整数a是否小于大整数b,条件错误的是?()。 {{ select(6) }}

  • lena < lenb
  • lena==lenb && strcmp(a,b)<0
  • lena > lenb
  • lena < lenb || (lena==lenb && strcmp(a,b)<0)

7、当被减数小于减数,下面操作顺序正确的是?()。 {{ select(7) }}

  • 交换数字→输出负号→再做减法
  • 做减法→交换数字→输出负号
  • 输出负号→直接做减法,不交换
  • 直接做减法,不需要输出负号

8、strcmp(a,b)函数,当字符串a小于字符串b时返回值是?()。 {{ select(8) }}

  • 等于0
  • 小于0
  • 大于0
  • 返回字符串长度

9、大整数减法完整流程正确的是?()。 {{ select(9) }}

  • 字符串输入→判断大小→逆序存储→按位相减处理借位→去前导0→逆序输出
  • 逆序存储→字符串输入→去前导0→相减→输出
  • 字符串输入→正序存储→按位相减→直接输出
  • 判断大小→输出→逆序存储→相减

10、头文件<cstring>,主要是为了使用下面哪一组函数?()。 {{ select(10) }}

  • cin、cout
  • strlen、strcmp
  • sort、swap
  • printf、scanf

二、判断题(每题2分,共10分)

11、大整数减法位数不同时,直接正序存储数组就可以正确相减。() {{ select(11) }}

  • 正确
  • 错误

12、逆序存储时,个位保存在数组下标0的位置。() {{ select(12) }}

  • 正确
  • 错误

13、做借位处理:当前位不够减,高位加1,当前位减10。() {{ select(13) }}

  • 正确
  • 错误

14、两个大数相减结果全为0,程序要保证至少输出一个0,不能什么都不输出。() {{ select(14) }}

  • 正确
  • 错误

15、strcmp比较两个大整数字符串,是从高位开始逐位对比字符ASCII值。() {{ select(15) }}

  • 正确
  • 错误