#include<iostream>
#include<iomanip>
#include<cmath>
using namespace std;
int main()
{
//通过定义一种全新的数据类型(结构体类型struct Student)来存储一个学生的所有信息
//再通过定义结构体数组,其中的每个数组元素用来存放一个学生的所有信息,整个数组存放全班所有学生的信息
//本程序采用自定义数据类型的方法,
// 优点很明显:信息集中,通过同一个结构体变量中的不同成员之间的内在联系,提高了编码效率和质量。
//定义一个结构体类型,叫struct Student,里面包含了学号、年龄、语数外成绩
struct Student
{
int num; //学号成员
int age; //年龄成员
float chinese; //语文成绩成员
float math; //数学成绩成员
float english; //外语成绩成员
};
//用结构体类型struct Student来定义一个包含N个学生信息的结构体数组jkx
//一个数组元素对应一个学生
//整个数组元素对应全班学生
struct Student jkx[N];
int i;
//输入N个学生信息,存放到jkx数组
for(i=0; i<N; i++)
{
printf("请依次输入第%d个学生的学号、年龄、语文、数学、外语:", i+1);
scanf("%d%d%f%f%f", &jkx[i].num, &jkx[i].age, &jkx[i].chinese, &jkx[i].math, &jkx[i].english);
}
//输出jkx数组中的所有学生的信息
printf("\n学号\t年龄\t语文\t数学\t外语\n");
for(i=0; i<N; i++)
printf("%d\t%d\t%.1f\t%.1f\t%.1f\n", jkx[i].num, jkx[i].age, jkx[i].chinese, jkx[i].math, jkx[i].english);
return 0;
}
/*
#define N 5 //学生人数
//写一个程序,能够记录某班学生的基本信息:
//1、学号:整型
//2、年龄:整型
//3、语文成绩:实型
//4、数学成绩:实型
//5、外语成绩:实型
int main()
{
//通过定义不同的数组来存储所有学生的不同信息
//通过多个数组中的信息来存储同一个学生的所有信息
//本程序采用传统的方法来定义数据类型,缺点很明显:信息分散而孤立,缺乏内在联系!!严重影响到编码效率和质量。
int num[N]; //num数组存放学号
int age[N]; //age数组存放年龄
float chinese[N]; //chinese数组存放语文成绩
float math[N]; //math数组存放数学成绩
float english[N]; //english数组存放外语成绩
int i;
for(i=0; i<N; i++)
{
printf("请输入第%d个学生的学号:", i+1);
scanf("%d", &num[i]);
printf("请输入第%d个学生的年龄:", i+1);
scanf("%d", &age[i]);
printf("请输入第%d个学生的语文成绩:", i+1);
scanf("%f", &chinese[i]);
printf("请输入第%d个学生的数学成绩:", i+1);
scanf("%f", &math[i]);
printf("请输入第%d个学生的外语成绩:", i+1);
scanf("%f", &english[i]);
}
//如果要求学生的平均分?课程的平均分?学生的排名?
printf("学号\t年龄\t语文\t数学\t外语\n");
for(i=0; i<N; i++)
{
printf("%d\t", num[i]);
printf("%d\t", age[i]);
printf("%.1f\t", chinese[i]);
printf("%.1f\t", math[i]);
printf("%.1f\n", english[i]);
}
return 0;
}
*/
1结构体引入
于 2024-06-15 22:07:28 首次发布