C语言结构体数组

结构体数组存放从键盘输入的3本书存放信息,包括书名,作者,出版年月,库存量。按照库存量降序排序并输出排序后的3本书信息。
示例
输入
C LI 2010 3 50回车
Java Wang 2013 7 9回车
CAD TIAN 2013 10 60回车
输出
CAD TIAN 2013 10 60
C LI 2010 3 50
Java Wang 2013 7 9

#define N 3
#include <stdio.h>
struct Book{
char Sm[100];   //书名 
char Zz[20];    //作者 
int Nian,Yue,Kc;
};
void paixu(struct Book s[],int n){
struct Book t;
int i,j;
for(i=0;i<n-1;i++) for(j=i+1;j<n;j++)
if (s[i].Kc<s[j].Kc){
t=s[i];s[i]=s[j];s[j]=t;
}

}
void print(struct Book s[],int n){
int i;
for(i=0;i<n;i++)
printf("%s %s %d %d %d\n",s[i].Sm,s[i].Zz,s[i].Nian,s[i].Yue,s[i].Kc);
}
int main(){
struct Book s[N];
int i;
for(i=0;i<N;i++)
scanf("%s%s%d%d%d",s[i].Sm,s[i].Zz,&s[i].Nian,&s[i].Yue,&s[i].Kc);
paixu(s,N);
print(s,N);
}

温馨提示:答案为网友推荐,仅供参考
相似回答