A-A+

使用VC++6.0打开考生文件夹下的源程序文件2.cpp。完成函数fun(char*S in

2022-08-05 21:25:26 问答库 阅读 172 次

问题详情

使用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$amp;请帮忙给出正确答案和分析,谢谢!

参考答案

正确答案:
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。

考点:源程序,文件夹