/**********************************************第一题**************************************************/(有问题)
/*
#include<stdio.h>
struct STUDENT
{
char name[20];
int age,number;
float chinese,math,english;
};
main()
{
struct STUDENT s1,s2;
int ave_age;
float ave_score;
printf("请输入第1名同学的姓名:");
scanf("%s",s1.name);
printf("请输入第1名同学的年龄:");
scanf("%d",&s1.age);
printf("请输入第1名同学的学号:");
scanf("%d",&s1.number);
printf("请输入第1名同学的语文,数学,英语的成绩:");
scanf("%f %f %f",&s1.chinese,&s1.math,&s1.english);
printf("请输入第2名同学的姓名:");
scanf("%s",s2.name);
printf("请输入第2名同学的年龄:");
scanf("%d",&s2.age);
printf("请输入第2名同学的学号:");
scanf("%d",&s2.number);
printf("请输入第2名同学的语文,数学,英语的成绩:");
scanf("%f %f %f",&s2.chinese,&s2.math,&s2.english);
ave_age=(s1.age+s2.age)/2;
ave_score=(s1.chinese+s1.math+s1.english+s2.chinese+s2.math+s2.english)/6;
printf("平均年龄为: %d,平均分为: %f\n",ave_age,ave_score);
}*/
/**********************************************第一题**************************************************/
/**********************************************第二题**************************************************/(有问题)
/*#include<stdio.h>
struct STUDENT
{
char name[20];
int age,number;
float chinese,math,english;
};
main()
{
struct STUDENT s;
int i;
int ave_age;
float ave_score;
for(i=1;i<6;i++)
{
printf("请输入第%d名同学的姓名:",i);
scanf("%s",s.name);
printf("请输入第%d名同学的年龄:",i);
scanf("%d",&s.age);
printf("请输入第%d名同学的学号:",i);
scanf("%d",&s.number);
printf("请输入第%d名同学的语文,数学,英语的成绩:",i);
scanf("%f %f %f",&s.chinese,&s.math,&s.english);
if(s.name[i]=='TOM')
{
printf("请输入TOM同学的年龄,学号,语文,数学,英语的成绩:",s.age,s.number,s.chinese,s.math,s.english);
break;
}
else
printf("");
}
}*/
/**********************************************第二题**************************************************/
/**********************************************第三题**************************************************/
/*结构体数组名作为函数参数*/
#include<stdio.h>
struct STUDENT{
char name[20];
int age;
float chinese,math;
};
float aver_age(struct STUDENT *P,int n);
main()
{
struct STUDENT a[4]={
{"Alice",21,78.5,89.0},
{"Bob",22,70,67.5},
{"Tom",23,67,59.5},
{"Huk",25,69,79}
};
float aver;
aver=aver_age(a,4);
printf("%5.3f",aver);
}
float aver_age(struct STUDENT *p,int n)
{
int i,sum;
float av;
for(sum=0,i=0;i<n;i++)
sum+=(*(p+i)).age;
av=(float)sum/n;
return av;
}
/**********************************************第三题**************************************************/