结构体
typedef struct
{
char bra[10];
char col[10];
int pri;
}Car,*CarP;
库函数
Car*Mal(int n)//申请内存
{
Car *p=(Car *)malloc(sizeof(Car)*n);
if(p==NULL)
{
printf("申请失败;\n");
}
return p;
}
void ScaStru(CarP p,int n)//输入结构体
{
for(int i=0;i<n;i++)
{
printf("输入品牌:");
scanf("%s",(p+i)->bra);
printf("输入颜色:");
scanf("%s",(p+i)->col);
printf("输入价格:");
scanf("%d",&((p+i)->pri));
}
}
void BubStru(CarP p,int n)
{
Car t;
for(int i=1;i<=n;i++)
{
for(int j=0;j<n-i;j++)
{
if((p+j)->pri>(p+j+1)->pri)
{
t=*(p+j);
*(p+j)=*(p+j+1);
*(p+j+1)=t;
}
}
}
}
void PriStru(CarP p,int n)
{
for(int i=0;i<n;i++)
{
printf("品牌:%s 颜色:%s 价格:%d\n",(p+i)->bra,(p+i)->col,(p+i)->pri);
}
}
主函数
int main(int argc, const char *argv[])
{
int n=5;
CarP p=Mal(n);
ScaStru(p,n);
BubStru(p,n);
PriStru(p,n);
free(p);
p=NULL;
return 0;
}
测试结果