资金往来账目管理中需要记录每笔收支的日期 date、项目简记 outline 和项 目金额 amount(结构定义如下)。按要求完成下列 3 个函数的设计。
typedef struct { long date; char outline[20]; float amount;}ACCOUNT;
(1)void input(ACCOUNT *s,int n)录入 n 笔收支信息到数组 s 中。
(2)void sort(ACCOUNT *s,int n)按照收支日期排序(如果收支日期相同, 按照项目金额高低排序)。
(3)void show(ACCOUNT *s,int n)显示 s 中存放的 n 笔收支信息。
(1) void input(ACCOUNT *s,int n)
{ int i; for(i=0;i<n;i++) scanf("%1d%s%1f", &s[i]. date,s[i].outline,&s[i].amount;) }
(2)void sort(ACCOUNT *s,int n)
{ int i,j; struct ACCITEM t;
for(i=0;i<n-1;i++)
for(j=0;j<n-i-1;j++)
{ if(s[j].date>s[j+1].date||(s[j].date==s[j+1].date&&s[j].amount)
{ t=s[j]; s[j]=s[j+1]; s[j+1]=t; }
}
}
(3)void show(ACCOUNT *s,int n)
{ int i; for(i=0;i<n;i++) printf("%ld %s %lf\n", s[i].date,s[i].outline,s[i],amount);}