使用VC++6.0打开考生文件夹下的源程序文件2.cpp。完成函数fun(char*S,inta[]),其功能是把字符串S中的数字提取出来存储在a[]中,然后返回数字的个数。 例如s="1234abcdef567",则a[]中存储着1234567,返回7。 注意:不能修改程序的其他部分,只能修改fun函数。 试题程序: include(iostream.h> intfun(char*s,inta[]) { } intmain { inta[1024]; intlen=fun("1234abedef567"

题目

使用VC++6.0打开考生文件夹下的源程序文件2.cpp。完成函数fun(char*S,inta[]),其功能是把字符串S中的数字提取出来存储在a[]中,然后返回数字的个数。 例如s="1234abcdef567",则a[]中存储着1234567,返回7。 注意:不能修改程序的其他部分,只能修改fun函数。 试题程序: include(iostream.h> intfun(char*s,inta[]) { } intmain { inta[1024]; intlen=fun("1234abedef567",a); for(inti=0;i<len;i++) { COUt<<a[i]<<; } cout<<endl; cout<<i<<endl: return0; }


相似考题
参考答案和解析
正确答案:
intj=0;
for(inti=0;s[i]!=0;i++)//字符串内循环
{
if(s[i]>=0&&s[i]<=9)//判断字符是否为0
~9的字符
a[j++]=s[i]-0;//如果为0~9的字符,转换
为整型
}
}
returnj;//返回数字个数
【解析】本题中变量j用来记录转换的个数,首先初始化为0,然后利用for循环判断每一个当前字符是否为数字字符。如果为数字字符,就将其减去字符“0”,即实现字符和整型的转换,并且将j的变量值加1。
更多“使用VC++6.0打开考生文件夹下的源程序文件2.cpp。完成函数fun(char*S,inta[]),其功能是把字符串S ”相关问题
  • 第1题:

    使用VC6打开考生文件夹下的工程RevProj9。此工程包含一个源程序文件RevMain9.cpp。在该文件中,函数fun()的功能是;将字符串s中的小写字母都改为对应的大写字母,其他字符不变。例如,输入“mT+gN”,则输出“MT+GN”。

    请改正程序中的错误,使它能得到正确结果。

    注意,不要改动main函数,不得删行或增行,也不得更改程序的结构。

    源程序文件RevMain9.cpp中的程序清单如下;

    //RevMain9.cpp

    include<iostream>

    using namespace std;

    char* fun(char*s);

    int main()

    {

    int i;

    char str[81];

    cout<<"Please enter a string:";

    cin>>str;

    cout<<"\n The result is:\n"<<fun(str)<<end1;

    return 0;

    }

    char *fun(char*s)

    {

    int i;

    for(i=0;s[i];i++)

    {

    /* * * * *FOUND* * * * *

    if(('a'<=s[i])||(s[i]<:='z'))

    /* * * * *FOUND * * * * * /

    s[i]+=32;

    }

    return s;

    }


    正确答案:

  • 第2题:

    使用VC++6.0打开考生文件夹下的源程序文件2.cpp。请完成函数fun(intn),使其实现以下功能:当i等于3时,则打印如下内容。 A AA AAA 注意:不能修改程序的其他部分,只能修改fun函数。 试题程序: include<iostream.h> voidfun(intn) { } voidmain { intn; cout<<"请输入打印的行数:"<<endl; cin>>n; if(n<1) { cout<<"输入的行数必须大于0"<<endl; return; } fun(n); return; }


    正确答案:
    inti;
    for(i=0;i<n;i++)//外层循环,要打印的行数
    {
    intj;
    for(j=0;j(n-i-1;j++)//循环打印空格
    {
    cout<<'';
    }
    for(;j<n;j++)//循环打印A
    {
    cout<<"A":
    }
    cout<<endl;//打印每一行的回车符
    }
    【解析】本题利用外层循环打印每一行。内层循环分为
    打印空格和打印A。打印空格由第一个位置到第n-i-1。打印A,是由打印完空格开始一直到行结束。在外循环中打印每一行的结束符。

  • 第3题:

    请教:2016年计算机二级C++基础练习三简答题8如何解答?

    使用VC++6.0打开考生文件夹下的源程序文件2.cpp。完成函数fun(char*sl,char*s2)的空出部分。函数fun(char*s1,char*s2)的功能是将在字符串s1中下标为偶数的字符,紧随其后重复出现一次,放在一个新串s2中,s2中字符按原字符串中字符的顺序排列。(注意0为偶数)

    例如:当s1中的字符串为“abcdef”时,s2中的字符串应为“aaccee”。

    注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。

    试题程序:

    #include(iostream.h)

    voidfun(char*s1,char*s2)

    {

    }

    voidmain()

    {

    charsi[100】,s2【1OO];

    cout<<"Pleaseenterstringstrin9:"<

    cin.getline(s1,100);

    fun(s1,s2);

    cout<<"Theresultis:"<

    return;

    }


      解析:

      inti;

      for(i=0;s1[i]!=0;i++)//循环判断每一个字符

      {

      if(i%2==0)//判断字符串中下标为偶数位置

      {

      s2[i]=s1[3];

      s2[i+1]=s1[i];

      s2[i+2]='\0';//新串添加尾符

      }

      }

      【解析】判断一个字符串中的某一个字符下标i是否为偶数,可用“i%2==0”来判断。对串s1中各个字符串逐个进行考查,满足条件的字符就顺序放在新串s2中,否则就不存放。所有字符处理完成后,记得在新串s2的末尾加上结束符“'\0'。

  • 第4题:

    请编写一个函数char *fun(char *s),其中s代表一个字符串。函数fun()的功能是将字符串s的元素倒置。例如,输入为“teacher”,则应输出“rehcaet”。

    注意:部分源程序已存在文件PROC10.cpp中。

    请勿修改主函数和其他函数中的任何内容,仅在函数fun()的花括号中填写若干语句。

    文件PROC10.cpp的内容如下:

    //PROC10. cpp

    include <iostream>

    include <string>

    using namespace std;

    char *fun(char *s);

    int main ( )

    {

    char str[81];

    cout<<"Please enter a string:\n";

    cin>>str;

    cout<<"The result is:"<<fun(str));

    cout<<end1;

    return 0;

    }

    char*fun(char*s)

    {

    //* * * * * * * * *

    }


    正确答案:

  • 第5题:

    使用VC++6.0打开考生文件夹下的源程序文件2.cpp。请完成函数fun(intx)的定义,该函数功能是判定x的所有约数,并且在函数中调用写函数WriteFile将结果输出到2.txt文件中。 例如:x=100的约数为124510202550100。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 试题程序: include<iostream) include(fstream) include(cmath) usingnamespacestd; voidWriteFile(intc) { ofstreamout1; out1.open("2.txt",ios_base::binary|ios_base::app); out1<<c<<'';’ out1.close; } voidfun(intx) { } voidClearFile { ofstreamout1; out1.open("2.txt"); out1.close; } intmain { ClearFile; fun(100); return0; }


    正确答案:
    for(inti=1:i<=x;i++)
    {
    if(x%i==0)//如果x被i整除,那么i为X的约数
    {
    writeFile(i);//将约数i存入文件
    }
    }
    【解析】本题中由1到x,循环判断其中是否有X的约数。如果x被i整除,那么i为x的约数最后调用Write-File函数,将约数i存入文件。