使用VC6打开考生文件夹下的源程序文件modi2.cpp。完成函数fun(char*s;int a[]),其功能是把S中出现的数字转换成数字存储在a[]中,然后返回转换的个数。 例如:s="1234abcdef567"; 则:a[]中存储着1234567

admin2016-10-28  41

问题 使用VC6打开考生文件夹下的源程序文件modi2.cpp。完成函数fun(char*s;int a[]),其功能是把S中出现的数字转换成数字存储在a[]中,然后返回转换的个数。
例如:s="1234abcdef567";
则:a[]中存储着1234567
返回:7
注意:不能修改程序的其他部分,只能修改fun()函数。
#include<iostream.h>
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<<endl;
cout<<i<<endl;
return0;
}

选项

答案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;//返回数字个数

解析 (1)j变量用来记录转换的个数,首先初始化为0。
(2)然后利用for循环对每一个当前字符进行判断是否为数字字符。
(3)如果为数字字符,就将其减去字符‘0’,即实现字符和整型的转换。并且,将j的变量值加l。
转载请注明原文地址:https://kaotiyun.com/show/07Np777K
0

最新回复(0)