【正确答案】:#include
设计一个结构型,存放职工的编号、姓名、是否退休(已退休为'y'或'Y'、未退休为'n'或'N')和工资。编一个程序,输入20名职
- 2024-08-04 11:38:14
- 高级语言程序设计(一)(00342)
                        设计一个结构型,存放职工的编号、姓名、是否退休(已退休为'y'或'Y'、未退休为'n'或'N')和工资。编一个程序,输入20名职工的上述信息,统计并输出退休职工的人数、工资总额和平均工资,以及未退休职工的人数、工资总额和平均工资。
【正确答案】:#include
 struct worker 
 {char hum[3]; char flag[2]; char name[8]; int wage;} 
w[20]; 
 main() 
 { 
   int i,n1,n2; float sum_y,ave_Y,sum_n,ave_n; 
   struct worker*P; P=w; 
   nl=n2=sum_y=sum_n=ave_y=ave_n=0; 
   for(i=0;i<20;i++)  
 { 
   printf("\n请输入职工%d的情况:\n",i+1); 
   printf("编号:");   scanf("%s",w[i].num); 
   printf("姓名:"); scanf("%S",W[i].name); 
   printf("是否退休:"); scanf("%S",W[i].flag); 
   printf("工资:");   scanf("%d",&w[i].wage) ; 
  } 
for(i=0;i<20;i++) 
 { 
  if(toupper((P+i)->flag[0])=='Y') 
     {n1++;sum_y+=(P+i)一>wage;} 
  if(toupper((P+i)->flag[0])=='N') 
     {n2++;sum_n+=(P+i)->wage;} 
  } 
 ave_y=sum_y/nl;ave_n=sum_n/n2; 
 printf("已退休人数%d,工资总数%d,平均工资为%d\n",nl,sum_y,ave_y); 
 printf("未退休人数%d,工资总数%d,平均工资为%d\n",n2,sum n ave_n); 
}  
                    
                    
                【正确答案】:#include
