填空题 数组xx[M]保存着一组4位无符号整数,其元素的个数通过变量num传入函数proc()。请补充函数proc(),该函数的功能是:从数组xx中找出个位和百位上的数字相等的所有无符号整数,结果保存在数组yy中,其个数由函数proc()返回。
例如,当xx[8]={1111 2413 2321 2222 4245 3333 1414 5335}时,yy[6]={1111 2222 3333 1414}。
注意:部分源程序给出如下。
请勿改动main()函数和其他函数中的任何内容,仅在函数proc的横线上填入所编写的若干表达式或语句。
试题程序:
#include<stdlib.h>
#include<stdio.h>
#include<conio.h>
#define M 1000
int proc(int xx[],int yy[],int nun)
{
int i,n=0;
int g,b;
for(i=0;i<num;i++)
{
g= 1;
b=xx[i]/100%10;
if(g==b)
2;
}
return 3;
}
void main()
{
int xx[8]={1111,2413,2321,2222,4245,3333,1414,5335};
int yy[M];
int num=0,n=0,i=0;
num=8;
system("CLS");
printf("****original data****/n");
for(i=0;i<num;i++)
printf("%u",xx[i]);
printf("/n/n/n");
n=proc(xx,yy,num);
printf("/nyy=");
for(i=0;i<n;i++)
printf("%u",yy[i]);
}
【正确答案】
【答案解析】xx[i]%10 yy[n++]=xx[i] n[解析] 要找出个位和百位上的数字相等的所有无符号整数,首先要得到数组xx中每一个元素的个位和百位数字,然后进行比较。因此,第一处填xx[i]%10。当个位和百位相等时,把数组xx中的该元素放到数组yy中。因此,第二处填yy[n++]=xx[i]。由函数proc()可知,数组yy的个数存放在变量n中,最后返回到主函数当中。因此,第三处填n。