主函数:
#include "head.h"
int main(int argc, const char *argv[])
{
struct car *p;
p=(struct car *)malloc(sizeof(struct car)*5);
input(p,3);
bubble(p,3);
output(p,3);
free(p);
p=NULL;
return 0;
}
text.c:
#include "head.h"
void input(struct car *p,int n)
{
int i;
for(i=0;i<n;i++)
{
printf("品牌: ");
scanf("%s",(p+i)->name);
printf("颜色: ");
scanf("%s",(p+i)->color);
printf("价格: ");
scanf("%f",&(p+i)->price);
}
}
void bubble(struct car *p,int n)
{
int i,j,count;
struct car t;
for(i=0;i<n;i++)
{
count=0;
for(j=0;j<n-i-1;j++)
{
if(((p+j)->price)>((p+j+1)->price))
{
t=*(p+j);
*(p+j)=*(p+j+1);
*(p+j+1)=t;
count++;
}
}
if(count==0)
{
break;
}
}
}
void output(struct car *p,int n)
{
int i;
for(i=0;i<n;i++)
{
printf("品牌:%s 颜色:%s 价格:%.2f \n",(p+i)->name,(p+i)->color,(p+i)->price);
}
}
head.h:
#ifndef __HEAD_H__
#define __HEAD_H__
#include <stdio.h>
#include "stdlib.h"
struct car
{
char name[10];
char color[10];
float price;
};
void input(struct car *p,int n);
void output(struct car *p,int n);
void bubble(struct car *p,int n);
#endif
运行结果: