请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,此工程中含有一个源程序文件proj2.cpp。函数char*GetNum(char*8re,char*buf)从src开始扫描下一个数字字符序列,并将其作为一个字符串取出放入字符串空

admin2015-06-27  27

问题 请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,此工程中含有一个源程序文件proj2.cpp。函数char*GetNum(char*8re,char*buf)从src开始扫描下一个数字字符序列,并将其作为一个字符串取出放入字符串空间bur中。函数返回扫描的终止位置,如果返回NULL表示没有扫描到数字字符序列。
运行程序时,如果输入的一行字符序列是
ABC012XYZ378MN274WS
则输出为:
Digitstring1is012
Digitstring2is378
Digitstring3is274
注意:只在横线处编写适当代码,不要删除或移动
“//****found****”。
//proj2.cpp
#include
usingnamespacestd;
char*GetNum(char*src,char*buf)
{
while(*src!=’\0’)
{
if(isdigit(*src))break;
Src++;
}
if(*src=’\0’)
//********found********
________;:
while(*src!=!\’0’&&isdigit(*src))
{
//********found********
________;
buf++;
Src++;
}
*buf=’\0’;
returnsrc;
}
intmain()
{
charstr[i00],digits[20];
cin.getline(str,100);
char*P:str;
inti=1;
while((p=GetNum(p,digits))!=NULL)
{
cout<<"Digitstring"<is"<//********found********
________;
}
return0;
}

选项

答案(1)returnNULL (2)*buf=*src (3)i++

解析 (1)主要考查考生对if语句的掌握,由判断条件if(*src=’\0’),说明字符串src为空,则返回NULL即可。
(2)主要考查考生对while循环语句的掌握,while语句的循环条件为*src!=’\0’&&isdigit(*src),该条件是指,若字符串src不为空并且*src指向的字符为数字字符,则进行循环。题目要求把数字字符放入字符串buf中,因此为*buf=*src。
(3)主要考查考生对while循环语句的掌握,从上一行语句cout<<"Digitstring"<
转载请注明原文地址:https://kaotiyun.com/show/3RNp777K
0

最新回复(0)