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

admin2020-06-29  60

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

解析 (1)该程序功能是把字符串中出现的数字转换成数字存储在数组中,然后返回转换的个数。其中,字符和整型的ASCII差为96,即为’0’的ASCⅡ码值。
(2)从已给部分源程序的main主函数开始入手,核心函数fun实现题目中要求的功能,其中int fun(char*s,int a[])中的S为要转换的字符串,a为存放转换为数字的数组,返回值为转换的个数。
转载请注明原文地址:https://jikaoti.com/ti/wFA0FFFM
0

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