正在载入在线练习界面,本页内容可直接阅读…

AK CSP › NOIP 普及 2014 第一轮真题 › 第 27 题

NOIP 普及 2014 第一轮 第 27 题:数字删除:第 1 空

完善程序 · 程序基本概念与数据类型 · 难度 中等 · 答案 ||

题目

完善程序:
(数字删除) 下面程序的功能是将字符串中的数字字符删除后输出。请填空。(每空 3 分,共 12 分)

#include <iostream>
using namespace std;
int delnum( char *s )
{
	int i, j;
	j = 0;
	for ( i = 0; s[i] != '\0'; i++ )
		if ( s[i] < '0'   ①  s[i] > '9' )
		{
			s[j] = s[i];
			②;
		}
	return(③);
}

const int SIZE = 30;
int main()
{
	char	s[SIZE];
	int len, i;
	cin.getline( s, sizeof(s) );
	len = delnum( s );
	for ( i = 0; i < len; i++ )
		cout << ④;
	cout << endl;
	return(0);
}
NOIP 普及 2014 第一轮 第 27 题 原题
原题扫描(页面加载后可直接在线作答)

本小题

①处应填( )

答案

||

题解

考点定位

本题(完善程序「数字删除」第①空)考「非数字判定」,对应大纲 4.2.1 字符串处理(难度【2】)。

解题过程

①处判断字符不是数字则保留:

``cpp if (s[i] < '0' || s[i] > '9') ``

答案:||。

易错提醒

① 数字区间 [48,57];「< '0' 或 > '9'」= 非数字;② 与 && 的区别:区间外是或、区间内是与。

真题版权归 CCF 所有,本站仅用于非商业教学用途。页面加载后可直接在线作答,作答记录保存在本浏览器或账号中。 京ICP备2026056990号-1 京公网安备11010502062986号