未分类题

以下程序从文本文件worker.txt中输入10个职工的信息(包括工号和工资),然后计算并输出平均工资,再从键盘上输入一个职工号,查找并输出该职工的信息,如果没有找到,则输出Not Found。假设文件操作总是成功的。
   #include<stdio.h>
   struct  worker
   {/*职工结构体*/
       int num;    /*工号*/
       float pay    /*工资*/
       struct  worker *next;
   };
   float averpay(struct worker per[],int n)
   {
       float sum=0;
       int i;
       for(i=0;i<n;i++)
           sum+=______;
       return sum/n;
   }
   struct worker*find(struct worker per[],int n,int num)
   {
       inti;
        for(i=0;i<n;i++)
           if(per[i].num==num)
           return______;
       return NULL;
     }
     main ()
   {
   struct worker per[10],*p;
   float x,ave;
   int  num,i;
   FILE *fp;
   /*从文件中输入10个职工的信息*/
   fp=______;
   for(i=0:i<10;  i++)
   {
       fscanf(fp,"%d%f",&num,&x);
       per[i].num=num;
       per[i].pay=x;
   }
   fclose(fp);
   /*计算并输出平均工资*/
   ave=averpay(per,10);
   printf("Average=%f\n",ave);
   /*查找某个职工*/
   scanf("%d",&num);
   p=______;
   if(P!=NULL)
       printf("%d,%f\n",p->num,p->pay);
   else
       printf("Not Found\n");
   }

A.txt中输入10个职工的信息(包括工号和工资),然后计算并输出平均工资,再从键盘上输入一个职工号,查找并输出该职工的信息,如果没有找到,则输出Not
B.h>

C.num==num)

D.num=num;

E.pay=x;


【参考答案】

per[i].pay 或 (per+i)->pay$&per[i]或per+i$fopen("worker.txt","......

(↓↓↓ 点击下方‘点击查看答案’看完整答案 ↓↓↓)