填空题
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、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”。