填空题 1.  str是一个由数字和字母字符组成的字符串,由变量num传入字符串长度。请补充函数proc(),该函数的功能是:把字符串str中的数字字符转换成数字并存放到整型数组bb中,函数返回数组bb的长度。
    例如,str="abc123de45fg67",结果为:1234567。
    注意:部分源程序给出如下。
    请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的横线上填入所编写的若干表达式或语句。
    试题程序:
    # include <stdio.h>
    # define M 80
    int bb[M];
    int proc(char str[],int bb[],int num)
    {
    int i,n=0;
    for(i=0;i<num;i++)
    {
    if(______)
    {
    bb[n]=______;
    n++;
    }
    }
    return ______;
    }
    void main()
    {
    char str[M];
    int    num=0,n,i;
    printf("Enter a string:\n");
    gets(str);
    while(str[num])
    num++;
    n=proc(str,bb,num);
    printf("\nbb=");
    for(i=0;i<n;i++)
    printf("%d",bb[i]);
    }
  • 1、
【正确答案】 1、str[i]>='0'&&str[i]<='9'    str[i]-'0’    n    
【答案解析】 题目中要求把字符串str中的数字字符转换成数字并存放到整型数组bb中。首先,应判断字符串str中每个字符是否是数字字符。因此,第一空处填“str[i]>一'0'&&str[i]<='9'";将每一个数字字符转化为数字放在整型数组bb中,因此,第二孔处填“str[i]-'0'";由函数proc()可知,变量n中存放整型数组bb中的元素个数,最后要返回到主函数当中,因此,第三空处填“n”。