人员的记录由编号和出生年、月、日组成,N名人员的数据已在主函数中存入结构体数组std中,且编号惟一。函数fun的功能是:找出指定编号人员的数据,作为函数值返回,由主函数输出,若指定编号不存在,返回数据中的编号为空串。 请在程序的下划线处填入正确的内

admin2013-04-02  45

问题 人员的记录由编号和出生年、月、日组成,N名人员的数据已在主函数中存入结构体数组std中,且编号惟一。函数fun的功能是:找出指定编号人员的数据,作为函数值返回,由主函数输出,若指定编号不存在,返回数据中的编号为空串。
    请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
    注意:源程序存放在考生文件夹下的BLANKI.C中。
    不得增行或删行,也不得更改程序的结构!
#include
#include
#define N 8
typedef struct
{char num[10];
   int year,month,day ;
}STU;
/**********found**********/
【1】 fun(STU *std, char *num)
{int i; STU a={"",9999,99,99};
   for (i=0; i/**********found**********/
      if(strcmp(【2】,num)==0)
/**********found**********/
           return (【3】);
   return a;
}
main()
{STU std[N]={ {"111111",1984,2,15},{"222222", 1983,9,21},{"333333",1984,9,1},{"444444",1983,7,15},{"555555",1984,9,28},{"666666",1983,11,15},{"777777",1983,6,22},{"888888",1984,8,19}};
   STU p; char n[10]="666666";
   p=fun(std,n);
   if(p.num[0]==0)
      printf("\nNot found !\n");
   else
   {printf("\nSucceed !\n ");
     printf("%s %d-%d-%d\n",p.num,p.year, p.month,p.day);
   }
}

选项

答案 STU std[i].num std[i]

解析 第一空:由“STU  p; p=fun(std,n);”,可知fun函数的返回值是STU结构体,因此第一空处应为“STU fun(STU  *std, char  *num)”。
第二空:此处是用strcmp函数比较两个字符串是否相同,参数std是指向结构体数组的指针,故第二空处应为“if( strcmp(std.num,num)==0 )”。
第三空:如果“if(strcmp(std.num,num)==0)”成立,则返回值就是std结构体。
转载请注明原文地址:https://kaotiyun.com/show/7PJp777K
0

最新回复(0)