正在载入在线练习界面,本页内容可直接阅读…
AK CSP › NOIP 普及 2016 第一轮真题 › 第 30 题
NOIP 普及 2016 第一轮 第 30 题:逐字符读入两个整数:第 3 空
题目
完善程序:
(读入整数) 请完善下面的程序,使得程序能够读入两个 int 范围内的整数, 并将这两个整数分别输出,每行一个。(第一、五空 $2.5$ 分,其余 $3$ 分)
输入的整数之间和前后只会出现空格或者回车。输入数据保证合法。
例如:
输入:
123 -789
输出:
123
-789
程序:
#include <iostream>
using namespace std;
int readint(){
int num = 0; // 存储读取到的整数
int negative = 0; // 负数标识
char c; // 存储当前读取到的字符
c = cin.get();
while ((c < '0' || c > '9') && c != '-')
c = ①;
if (c == '-')
negative = 1;
else
②;
c = cin.get();
while (③){
④;
c = cin.get();
}
if (negative == 1)
⑤;
return num;
}
int main()
{
int a, b;
a = readint();
b = readint();
cout << a << endl
<< b << endl;
return 0;
}
本小题
③处应填( )
答案
c >= '0' && c <= '9'
题解
考点定位
本题(读入整数第③空)考「数字判定」,对应大纲 4.2.1 字符处理(难度【2】)。
解题过程
③处循环继续条件:当前字符是数字:
``cpp c >= '0' && c <= '9' ``
答案:c >= '0' && c <= '9'。
易错提醒
① 用 && 连接上下界(区间内是与);② 与①的跳过条件互斥互补。
真题版权归 CCF 所有,本站仅用于非商业教学用途。页面加载后可直接在线作答,作答记录保存在本浏览器或账号中。 京ICP备2026056990号-1
京公网安备11010502062986号