使用vc++6.0打开考生文件夹下的源程序文件2.cpp。完成函数fun(char*s,int a[]),其功能是把字符串s中的数字提取出来存储在a[]中,然后返回数字的个数。 例如s="1234abcdef567",则a[]中存储着1234567

admin2013-10-15  8

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

选项

答案int j=0; for(int i=0;s[i]!=0;i++) //字符串内循环 if(s[i])=’0’&&s[i]<=’9’) //判断字符是否为0~9的字符 { a[j++]=s[i]-’0’; //如果为0~9的字符,转换为整型 } } return j; //返回数字个数

解析 本题中变量j用来记录转换的个数,首先初始化为0,然后利用for循环判断每一个当前字符是否为数字字符。如果为数字字符,就将其减去字符“0”,即实现字符和整型的转换,并且将j的变量值加1。
转载请注明原文地址:https://jikaoti.com/ti/9vXiFFFM
0

最新回复(0)