#GOBJ103H. GESP 1级客观题|输入输出|课后作业

GESP 1级客观题|输入输出|课后作业

GESP 1级客观题|输入输出|课后作业

考试频率:高频。本卷共 6 题。

  1. 下⾯C++代码执⾏时输⼊ 14+7 后,正确的输出是( )。
int P;
printf("请输入正整数P: ");
scanf("%d", &P);
if (P % 3 || P % 7)
    printf("第5行代码%d, %d", P % 3, P % 7);
else
    printf("第7行代码%2d", P % 3 && P % 7);

{{ select(1) }}

  • 第5⾏代码2, 0
  • 第5⾏代码1, 0
  • 第7⾏代码 1
  • 第7⾏代码 0
  1. 下⾯的C++代码⽤于求连续输⼊的若⼲正五位数的百位数之和。例如输⼊ 32488 25731 41232 0 ,则输出 3个正五位数的百位数之和为13 。有关描述错误的是( )。
int M, Sum=0, rc=0;
cout << "请输入正整数:";
cin >> M;
while (M){
    M = (M / 100 % 10); // L6
    Sum += M;
    rc++;
    cin >> M;
}
cout << rc << "个正五位数的百位数之和为" << Sum;

{{ select(2) }}

  • 执⾏代码时如果输⼊ 23221 23453 12345 11111 0 ,则最后⼀⾏Sum的值是 10
  • 执⾏代码时如果输⼊ 2322 2345 1234 1111 0 ,程序也能运⾏
  • 将代码标记为 L6 那⾏改为 M = (M % 1000 / 100); ,同样能实现题⽬要求
  • 将代码标记为 L6 那⾏改为 M = (M % 100 / 10); ,同样能实现题⽬要求
  1. 下面的C++代码中变量NNMM都是整型,则执行时如果先输入10并输入一个制表符后输入20并回车,其输出的数值是( )。
scanf("%d", &N);
scanf("%d", &M);
printf("{%d}",N+M);

{{ select(3) }}

  • {30}
  • 1020
  • {N+M}
  • 不输出,继续等待输入
  1. 下面的C++代码用于求N的镜面数(NN的个位到最高位的各位数字依次反过来出现在数字中,但高位0将被忽略,不输出),如输入1234,则将输出 4321 ,又如输入120,则将输出 21 ,错误的选项是( )。
cout << "请输入个位数不为0的正整数:";
cin >> N;
rst = 0; // 保存逆序结果
while (______________){
    rst = rst * 10 + N % 10;
    N = N / 10;
}
cout << rst << endl;

{{ select(4) }}

  • N != 0
  • not (N == 0)
  • N = 0
  • N > 0
  1. 下面C++代码用于获得正整数NN的第MM位数,约定个位数为第1位,如NN等于1234,MM等于2,则输出3。假设MM的值是大于等于1且小于等于NN的位数。横线处应填入的代码是( )。
int N, M, div=1;
cout << "请输入一个正整数:";
cin >> N;
cout <<"请输入从右到左取第几位数:";
cin >> M;
for (int i =0; i < (M - 1); i++) div *= 10;
cout << (______________);

{{ select(5) }}

  • N % div / 10
  • N / div / 10
  • N % div % 10
  • N / div % 10
  1. 下面C++代码用于记录多个输入数中的最大数和最小数(输入 -999 则输入结束),相关说法错误的是( )。
cin >> now_num;
min_num = max_num = now_num;
while (now_num != -999){
    if (max_num < now_num)
        max_num = now_num;
    if (min_num > now_num)
        min_num = now_num;
    cin >> now_num;
}
cout << min_num << ' ' << max_num;

{{ select(6) }}

  • 程序运行时如果第一个数输入 -999 ,则输出将是 -999 -999
  • 程序输入过程中,如果输入的第一个数不是 -999 ,则如果待输入的数据中没有 -999 ,则程序能求出已输入整数中的最大数和最小数
  • 如果用于输入考试成绩,即成绩中不可能有 -999 ,则程序能求出已输入成绩中的最高成绩和最低成绩
  • 可以将 cin >> now_num; 移动到 while (now_num != -999) { 下面,结果不变
蜀ICP备2025119001号-1