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

admin2019-05-29  28

问题 请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,此工程中含有一个源程序文件proj2.epp。函数char水GetNum(char * src,char * buf)从src开始扫描下一个数字字符序列,并将其作为一个字符串取出放入字符串空间bur中。函数返回扫描的终止位置,如果返回NULL表示没有扫描到数字字符序列。
    运行程序时,如果输入的一行字符序列是
    ABC012XYZ378MN274WS则输出为:
    Digit string 1 is 012
    Digit string 2 is 378
    Digit string 3 is 274
    注意:只在横线处编写适当代码,不要删除或移动“//****found****”。
//proj2.cpp
#include<iostream>
using namespace std;
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’;
    return src;
}
int main()
{
char str[100],digits[20];
cin.getline(str,100);
char * p=str;
int i=1;
while((P=GetNum(P,digits))!=NULL)
    {
    cout<<"Digit string"<<i<<"is"  <<digits<<end1:
//********found********
________;
   }
    return 0;
}

选项

答案(1)retum NULL (2)*bur=*src (3)i++

解析 (1)主要考查考生对if语句的掌握,由判断条件if( * src==’\0’),说明字符串are为空,则返回NULL即可。
    (2)主要考查考生对while循环语句的掌握,while语句的循环条件为*src!=’\0’&&isdigit(*src),该条件是指,若字符串src不为空并且*arc指向的字符为数字字符,则进行循环。题目要求把数字字符放人字符串buf中,因此为水buf=*src。
    (3)主要考查考生对while循环语句的掌握,从上一行语句cout<<"Digit string"<<"i<<"is"<<digits<<end1;中可以得出,题目要求输出的i是递增的,因此这里需添加语句i++。
转载请注明原文地址:https://jikaoti.com/ti/7XA0FFFM
0

相关试题推荐
最新回复(0)