C语言程序设计 9.1输出平均分最高的学生信息
作者:互联网
例9-1:假设学生的基本信息包括学号、姓名、三门课程成绩以及个人平均成绩。输入n个学生的成绩信息,计算并输出平均分最高的学生信息。
测试数据:
3
101 Zhang 78 87 85
102 Wang 91 88 90
103 Li 75 90 84
课本代码:
#include<stdio.h>
struct student //学生信息结构定义 结构名student
{
int num;//类型名 结构成员名1
char name[10];
int computer,English,math;
double average;
};//以分号结束
int main()//其中定义了两个结构变量s1 max
//结构变量可以通过结构成员操作符 . 对其某个成员进行引用
{
int i,n;//学生人数 n
struct student s1,max;//定义结构变量
printf("Input n: ");
scanf("%d",&n);
printf("Input the student's number, name and course scores\n");
for(i=1;i<=n;i++)
{
printf("No.%d: ",i);
scanf("%d%s%d%d%d",&s1.num ,s1.name ,&s1.math ,&s1.English ,&s1.computer );
//输入学生信息
//结构变量的引用格式:结构变量名. 结构成员名
s1.average =(s1.math +s1.English +s1.computer )/3.0;//平均分的计算
if(i==1) max=s1;//结构变量的整体赋值 前提:两个结构变量有相同的类型
if(max.average<s1.average)
max=s1;//找出平均值最大
}
printf("num:%d, name:%s, average:%.2lf\n",max.num ,max.name ,max.average );
return 0;
}
运行结果:
num:102, name:Wang, average:89.67
结构也可以嵌套,但是得先定义成员的结构类型,再定义主结构类型。
struct address
{
char city[10];//城市
char street[20];//街道
int code;//门牌号
int zip;//邮编
};
struct nest_student
{
int num;//学号
char name[10];//姓名
struct address addr;//定义通信地址成员
//结构类型struct nest_student的成员变量addr被定义成结构类型struct address
int computer,English,math;//学生成绩
double average;//平均成绩
};
标签:struct,name,int,定义,C语言,student,结构,9.1,平均分 来源: https://blog.csdn.net/qq_52801315/article/details/118882957