一道结构体的c语言题,请帮帮忙

来源:百度知道 编辑:UC知道 时间:2024/05/25 14:41:39
编程实现:在一个结构体数组中,存有三个人的姓名和年龄,输出三个人中年龄居中者的姓名和年龄。
要求:
(1)利用指针实现处理过程
(2)三个人的数据采用初始化方式输入
(3)修改程序,将(2)改为采用scanf函数读入方式

对于1,2程序!已测试!
#include<string.h>
#include<stdio.h>
void main()
{ int max,min;
struct student
{char name[20];
int age;
};
struct student stu[3]={{"Li",18},{"Wang",22},{"Chen",20}};
struct student *p;
p=stu;
max=p->age;
min=p->age;
for(p=stu;p<stu+3;p++)
{
if(p->age >max) max=p->age;
if(p->age <min) min=p->age;
}
for(p=stu;p<stu+3;p++)
{ if(p->age <max && p->age >min)
{ printf("the middle age is:");
printf("%s\ %d\n",p->name,p->age);
}
}
}

对于 3
#include<string.h>
#include<stdio.h>
void main()
{ int max,min;
struct student
{char name[20];
int age;
};
struct student stu[3];
struct student *p;
p=stu;