首页 / 客观题库

80761 - CSP-J2026阅读程序2

基础算法

题目(材料题)


01 #include <algorithm>
02 #include <iostream>
03 #include <string>
04 using namespace std;
05 int a[100007], b[100007], c[100007], carry[100007];
06 string input_str;
07 int a_len, b_len;
08 int main() {
09 cin >> input_str;
10 a_len = input_str.size();
11 for (int i = 0; i < a_len; i++) {
12  a[i] = input_str[a_len - i - 1] - '0';
13 }
14 cin >> input_str;
15 b_len = input_str.size();
16 for (int i = 0; i < b_len; i++) {
17  b[i] = input_str[b_len - i - 1] - '0';
18 }
19 carry[0] = 0;
20 for (int i = 0; i < max(a_len, b_len) + 1; i++) {
21  c[i] = a[i] + b[i] + carry[i];
22  if (c[i] >= 10) {
23   carry[i + 1] = 1;
24   c[i] -= 10;
25  } else {
26   carry[i + 1] = 0;
27  }
28 }
29 for (int i = max(a_len, b_len); i >= 0; i--) {
30  cout << c[i];
31 } 
32 cout << endl;
33 return 0;
34 }

本题输入的两个数均为非负整数,位数不超过100000,可能包含前导零。

||

22.当输入为123 456时,程序输出为0579。()

✔ 正确

✘ 错误

23.假设输入的两个数均不含前导零,则程序输出的结果也一定不会含有前导零。()

✔ 正确

✘ 错误

24.将第21行改为c[i]=a[i]+b[i];后,程序输出的结果一定比原来的结果小。()

✔ 正确

✘ 错误

( 单选 )

25.当输入为12345 678时,输出为()。

A 012923

B 013023

C 13023

D 130230

( 单选 )

26.将第22行的if(c[i]>=10)改为if (c[i]>10)后,当输入为95 15时,输出为()。

A 01010

B 110

C 140

D 1410

( 单选 )

假设输入的两个数均为$n$位正整数(不含前导零),且它们的和小于$10^n$,则程序输出的字符串一定满足()。

A 第一个字符一定不为'0'

B 长度一定为n

C 长度一定为n+1,且第一个字符为'0'

D 长度可能为n+2

意见反馈

    最多上传3张图片,格式为JPG、PNG、JPEG,单张不超过5MB

    注册

    发送验证码

    密码必须包含数字、字母和特殊字符

    找回密码

    发送验证码

    密码必须包含数字、字母和特殊字符

    运行 ID:67149

    • 测试点1:Accepted
    • 用时:0 ms
    • 内存:288 kb
    • 测试点2:Accepted
    • 用时:0 ms
    • 内存:288 kb
    输入
    203
    输出
    203

    test

    测评信息

    错误.in文件下载

    错误.out文件下载

    运行 ID:67149

    2019-01-24 15:06:36