#GOBJ103H. GESP 1级客观题|输入输出|课后作业
GESP 1级客观题|输入输出|课后作业
GESP 1级客观题|输入输出|课后作业
考试频率:高频。本卷共 6 题。
- 下⾯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
- 下⾯的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); ,同样能实现题⽬要求
- 下面的C++代码中变量和都是整型,则执行时如果先输入10并输入一个制表符后输入20并回车,其输出的数值是( )。
scanf("%d", &N);
scanf("%d", &M);
printf("{%d}",N+M);
{{ select(3) }}
- {30}
- 1020
- {N+M}
- 不输出,继续等待输入
- 下面的C++代码用于求N的镜面数(的个位到最高位的各位数字依次反过来出现在数字中,但高位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
- 下面C++代码用于获得正整数的第位数,约定个位数为第1位,如等于1234,等于2,则输出3。假设的值是大于等于1且小于等于的位数。横线处应填入的代码是( )。
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 / 10N / div / 10N % div % 10N / div % 10
- 下面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) { 下面,结果不变