填空题 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( 1)
{
bb[n]= 2;
n++;
}
}
return 3;
}
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]);
}
【正确答案】
【答案解析】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”。