int main()
{
book ts[10]={"os","高等教育",33,1997,3,15,"java","清华大学",153,2018,4,1,"programdesign","北京大学",75,2017,6,1,"c语言","高等教育",28,2018,9,1,"网络原理","高等教育",40,2017,4,1,"高等数学","同济大学",80,2015,10,1,"高等数学","高等教育",66,2015,8,1,"os","清华大学",90,2019,6,1,"组成原理","浙江大学",76,2019,6,1,"c语言","浙江大学",59,2016,4,1};
int n;
n=findyear(ts,10,2019);
printf("%d\n",n);
return 0;
}
拓展4:最近5年中(包括当年)哪年买书花的钱最多?(假如当前年份为2019年)
分析:
设计一个函数
int findyear(book tt[],int n,int year) {
(1)统计最近5年每年花了多少钱(买书)
year-4,year-3,year-2,year-1,year [year-4..year]
cost[5]:cost[0] cost[1]...cost[4]依次存放year-4,year-3,year-2,year-1,year的费用
(2)找哪年花的最多
找cost数组中那个值最大(对应的下标)
}
int findyear(book tt[],int n,int year)
{
int i,j,k;
float cost[5]={0};
for(i=year-4;i<=year;i++)
for(j=0;j<n;j++)
if (tt[j].cgrq.year==i) cost[i-year+4]=cost[i-year+4]+tt[j].price;
//找哪年的值最大
s=cost[0];
k=0;
for(i=1;i<5;i++)
if (cost[i]>s) {s=cost[i];k=i;}
return (k+year-4);
}