该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
# include
# include
struct student
{
int age;
float fenshu;
char name[100];
};
void inputstudent (struct student *a, int len)
{
int i;
a = (struct student *)malloc(len* sizeof(struct student));
for(i = 0; i
{
printf("请输入第%d个学生的信息:\n",i+1);
printf("age = ");
scanf("%d",&a[i].age);
printf("fenshu = ");
scanf("%f",&a[i].fenshu);
printf("name = ");
scanf("%s",&a[i].name);
}
printf("\n\n");
}
void outputstudent(struct student *b,int len)//定义两个个形参为
{
int i, j;
struct student t;
for (i = 0 ; i
{
for (j = 0; j
{
if( b[j].fenshu>b[j+1].fenshu)
{
t = b[j];
b[j] = b[j+1];
b[j+1] = t;
}
}
}
printf("学生的内容是:\n\n"); //输出内容
b = (struct student *)malloc(len* sizeof(struct student));
for (i = 0; i
{
printf("第%d个学生的信息:\n",i+1);
printf("age = %d\n",b[i].age);
printf("fenshu = %f\n",b[i].fenshu);
printf("name = %s\n",b[i].name);
printf("\n");
}
}
int main (void)
{
struct student (p);//变量名为p的结构体
int len; //学生个数
printf("请输入学生的个数:\n");
printf("len = ");
scanf("%d",&len);
inputstudent(&p,len);//输入函数
outputstudent(&p,len);//输出函数
return 0;
}
运行结果
学生的内容是:
第1个学生的信息:
age = -842150451
fenshu = -431602080.000000
name = 屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯 屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯 屯屯屯屯屯屯屯屯屯屯屯屯屯屯
第2个学生的信息:
age = -842150451
fenshu = -431602080.000000
name = 屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯
Press any key to continue