从键盘输入一组无符号整数并保存在数组arr[N]中,以整数0结束输入,即第N+1个数是0,要求这些数的最大位数不超过4位,其元素的个数通过变量num传人函数proc()。请补充函数proc(),其功能是:从数组arr中找出个位和十位的数字之和大于5的所有无

admin2013-03-25  18

问题 从键盘输入一组无符号整数并保存在数组arr[N]中,以整数0结束输入,即第N+1个数是0,要求这些数的最大位数不超过4位,其元素的个数通过变量num传人函数proc()。请补充函数proc(),其功能是:从数组arr中找出个位和十位的数字之和大于5的所有无符号整数,结果保存在数组yy中,其个数由函数proe返回。
    例如,当arr[8]={1 3,1,205,252,2,333,4444,21)时实际输入时,数与数之间用Enter键分开,bb[4]={252,333,4444)。
    注意:部分源程序给出如下。
    请勿改动函数main()和其他函数中的任何内容,仅在函数proc()的横线上填入所编写的若干表达式或语句。
    试题程序:
#include
#define M 1000
int proc(int arr[],int bb[],int num)
{
    int i,m=0;
    int g,s;
    for(i=0;i    {
    g=  【1】  ;
    s=arr/10%10;
    if((g+s)>5)
    【2】    ;
    }
    return  【3】  ;
}
void main()
{
  int arr[M];
  int yy[M];
  int num=0,m=0,i=0;
  printf("Input number:\n");
  do
  {
    scanf("% u",&arr[num]);
  }
  while(arr[num++]!=0);
  m=proc(arr,yy,num);
  printf("\nyy=");
  for(i=0;i  printf("%u",yy/);
}

选项

答案【1】arr[i]%10 【2】bb[m++]=arr[i]【3】m

解析 将一个整数对10取余,则得到该整数的个位数,将一个整数除以10再对10取余,则得到该整数的十位数。由程序可以看出,变量s保存了整数的十位数,所以应该将整数的个位数保存在变量g中;根据题意,当整数的个位与十位的数字之和大于5时,则将该整数保存到数组bb中;变量m记录了满足条件的无符号整数的个数,题目要求将满足条件的无符号整数的个数由proc()函数返回,所以函数返回m。
转载请注明原文地址:https://kaotiyun.com/show/jXJp777K
0

最新回复(0)