结构体数组练习~!

/*************************************************************************
    > File Name: b2.h
    > Author: Palmer XU
    > Mail:  
    > Created Time: Sat 29 Mar 2014 10:09:46 PM EDT
 ************************************************************************/
#ifndef __B2_H__
#define __B2_H__
#include<stdio.h>
typedef struct student
{
 int num;
 int score[4];
}stud_t,*pstud_t;
double ava_stud(pstud_t);
void ava_class(pstud_t,unsigned int);
void find_stud(pstud_t,unsigned int);
#endif
/*************************************************************************
    > File Name: b2_fun.c
    > Author: Palmer XU
    > Mail:  
    > Created Time: Sat 29 Mar 2014 10:17:17 PM EDT
 ************************************************************************/
#include"b2.h"
double ava_stud(pstud_t stud)
{
 int i = 0;
 double sum = 0;
 for(; i < 4;i++)
  sum += stud->score[i];
 return sum/4;
}
void ava_class(pstud_t stud,unsigned int n)
{
 int i,j;
 double sum;
 for(i = 0;i < 4;i++)
 {
  for(j = 0;j < n;j++)
  {
   sum += stud[j].score[i];
  }
  printf("the avarage of class %d is %.1lf\n",i+1,sum / n);
 }
 return;
}
void find_stud(pstud_t stud,unsigned int n)
{
 int i,j,max,max_i = 0,max_j = 0;
 max = stud[0].score[0];
 for(i = 0;i < n;i++)
 {
  for(j = 0;j < 4;j++)
   if(max < stud[i].score[j])
   {
    max = stud[i].score[j];
    max_i = i;
    max_j = j;
   }
 }
 printf("the highest score is stud %d,class %d.\n",stud[max_i].num,max_j+1);
 return;
}

 /*************************************************************************
    > File Name: b2.c
    > Author: Palmer XU
    > Mail:  
    > Created Time: Sat 29 Mar 2014 10:33:29 PM EDT
 ************************************************************************/
#include"b2.h"
int main(void)
{
 stud_t stud[3];
 int i,j;
 for(i = 0;i < 3;i++)
 {
  printf("input stud's num:");
  scanf("%d",&stud[i].num);
  printf("input three score:");
  for(j = 0;j < 4;j++)
  { 
   scanf("%d",&stud[i].score[j]);
  }
 }
 for(i = 0;i < 3;i++)
 {
  printf("the %d 's ava score is %.1lf.\n",i+1,ava_stud(&stud[i]));
 }
 ava_class(stud,3);
 find_stud(stud,3);
 return 0;
}

转载于:https://my.oschina.net/PalmerZero/blog/214526

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值