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

admin2019-05-29  14

问题 使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码。函数num(char*str)实现返回字符串中非数字的个数。
    例如:abc123abc45
    返回输出:6
    将函数num()补充完整。
    注意:请勿改动主函数。
1  #include<iostream.h>
2  int num(char*str)
3  {
4
5  }
6  int main()
7  {
8    char str[1024];
9    cout<<’’please input a strfng:’’<<end1;
10    cin.getline(str,1024);
11    cout<<’’char number is’’<<num(str)<<end1;
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<=’9’”,除数字字符外其余的都是非数字字符,利用这个关系可迅速判断该字符是否是非数字字符。
    (1)利用循环搜索数组str中的元素,循环变量从0开始,直到str=0(到了字符数组的尾),不断地读取str中读取元素。
    (2)每读到一个元素判断是否是非数字字符,即满足条件“str>’9’|| str<’0’的字符为非数字字符,非数字字符个数加1,循环结束就得到了非数字字符的个数。
转载请注明原文地址:https://kaotiyun.com/show/iB8p777K
0

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