2013年6月25日 星期二

C 陣列結構 (C language struct array sample)

#include <stdio.h>
#define Data 20
#define BOOKNO 10
typedef struct
{
int No;
int Quantity;    
     
}BookSale;


int Sale_top(int book[] , int count);

int main(void)
{
   BookSale Details[Data] ={0};
   Details[0].No =4;
   Details[0].Quantity =10;
   Details[1].No =1;
   Details[1].Quantity =11;
   Details[2].No =1;
   Details[2].Quantity =12;
   Details[3].No =3;
   Details[3].Quantity =13;
   Details[4].No =1;
   Details[4].Quantity =14;
   Details[5].No =5;
   Details[5].Quantity =15;
   Details[6].No =6;
   Details[6].Quantity =16;
   Details[7].No =2;
   Details[7].Quantity =100;
   Details[8].No =9;
   Details[8].Quantity =22;
 
  // printf("%d %d\n" ,Details[5].No,Details[5].Quantity );
 
   int NoSaleCount[BOOKNO+1]={0};
   int i,j;
   int big;
   for (i = 0 ; i< Data ; i ++)
   {
      int k;
      k = Details[i].No;
      NoSaleCount[k] = NoSaleCount[k] + Details[i].Quantity;
     
   }
 
   for (j = 1 ; j < BOOKNO+1 ; j++)
   {
     printf("No:%d " , j );
     printf("總銷售 :%d \n" ,  NoSaleCount[j] );
     
   }  
 
   big =  Sale_top( NoSaleCount,BOOKNO+1 );
   printf("第一名總銷售 :%d \n" , big );
    system("PAUSE");
    return 0;
 
}

int Sale_top(int book[] , int count)
{
  int max=0;
  int i , top;

  for (i = 1 ; i < BOOKNO+1 ; i++)
   {
     if (book[i]>max)
     {
        max = book[i];          
     }              
 
   }
 
   top = max;
   return top;
}