使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码。函数num(char*str)实现返回字符串中非数字的个数。 例如:abcl23abc45 返回输出:6 将函数num()补充完整。 注意:请

admin2015-05-30  7

问题 使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码。函数num(char*str)实现返回字符串中非数字的个数。
    例如:abcl23abc45
    返回输出:6
    将函数num()补充完整。
    注意:请勿改动主函数。
    1    #include
    2    int num(char*str)
    3  {
    4
    5  }
    6    int main()
    7    {
    8    char str[1024];
    9    cout<<"please input a string:"<    10    cin.getline(str,1024);
    11    cout<<"char number is"<    12    return 0 ;
    13    }

选项

答案1 int number=0; 2 for(int i:0 ; str[i]!=0 ; i++) 3 if(str[i]>’9’||str[i]<’0’)//非数字字符 4 number++; 5 return number;

解析 函数num(char*str)实现返回字符串中非数字的个数,数字从0开始到9结束,共有10个,因此判断数组字符比较简单,即“’0’<=str[i1<=’9’”,除数字字符外其余的都是非数字字符,利用这个关系可迅速判断该字符是否是非数字字符。
    [解题思路]
    (1)利用循环搜索数组str中的元素,循环变量从0开始,直到str=0(到了字符数组的尾),不断地读取str中读取元素。
    (2)每读到一个元素判断是否是非数字字符,即满足条件“str>’9’||str<’0’”的字符为非数字字符,非数字字符个数加1,循环结束就得到了非数字字符的个数。
转载请注明原文地址:https://kaotiyun.com/show/4PNp777K
0

随机试题
最新回复(0)