编写一个程序,要求输入10个学生的信息,求出年龄最大的学生并输出其姓名,求出10个学生的平均年龄。
程序代码:
#include<stdio.h>
typedef struct
{
char name[20];
int number[10];
char sex[3];
int age;
} student;
main()
{
students[10];
int i;
int average,id;
printf("please input the message of thestudents:n");
for(i=0;i<10;i++)
scanf("%s%d%s%d",s[i].name,s[i].number,s[i].sex,&s[i].age);
id=0;
for(i=1;i<10;i++)
if(s[i].age>s[id].age)
id=i;
printf("the oldest studentis:%sn",s[id].name);
average=0;
for(i=0;i<10;i++)
average+=s[i].age;
average/=10;
printf("the average age of thestudent is:%dn",average);
}
运行结果:
编程思路:
要求输入10个学生信息,可定义一个结构体类型的数组,存放这10个学生的信息。其余的求最大值、平均值问题就很简单了,这里不再赘述。只是在编程时注意输入、输出学生信息时,对地址的用法。其中s[i].name为地址,因为大家知道,name为数组名,代表首地址。而用age地址时要加取地址运算符& amp;,即:&s[i].name。