添加学生信息和成绩;
显示所有学生的信息和成绩;
根据学号或姓名查询学生信息和成绩;
根据学号或姓名修改学生信息和成绩;
根据学号或姓名删除学生信息和成绩。
下面是一个基于控制台的C语言实现的示例代码,演示了如何实现上述功能:
c
Copy code
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_STUDENTS 100// 最多可管理的学生数
#define MAX_NAME_LEN 20 // 姓名最大长度
// 学生信息结构体
typedef struct {
int id// 学号
char name[MAX_NAME_LEN]// 姓名
int score // 成绩
} Student
Student students[MAX_STUDENTS]// 学生信息数组
int num_students = 0 // 当前学生数量
// 添加学生信息和成绩
void add_student() {
if (num_students >= MAX_STUDENTS) {
printf("已达到最大可管理的学生数!\n")
return
}
printf("请输入学生的学号:")
scanf("%d", &students[num_students].id)
printf("请输入学生的姓名:")
scanf("%s", students[num_students].name)
printf("请输入学生的成绩:")
scanf("%d", &students[num_students].score)
num_students++
printf("添加成功!\n")
}
// 显示所有学生的信息和成绩
void show_all_students() {
if (num_students == 0) {
printf("暂无学生信息!\n")
return
}
printf("%-10s %-20s %-10s\n", "学号", "姓名", "成绩")
for (int i = 0i <num_studentsi++) {
printf("%-10d %-20s %-10d\n", students[i].id, students[i].name, students[i].score)
}
}
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define MAX 1000
/*定义学生成绩信息结构*/
struct stu
{
char id[8]
char name[8]
扩展资料:
short:修饰int,短整型数据,可省略被修饰的int。(K&R时期引入)
long:修饰int,长整型数据,可省略被修饰的int。(K&R时期引入)
long long:修饰int,超长整型数据,可省略被修饰的int。(C99标准新增)
signed:修饰整型数据,有符号数据类型。(C89标准新增)
unsigned:修饰整型数据,无符号数据类型。(K&R时期引入)
restrict:用于限定和约束指针,并表明指针是访问一个数据对象的唯一且初始的方式。(C99标准新增)
复杂类型关键字
struct:结构体声明。(K&R时期引入)
union:联合体声明。(K&R时期引入)
enum:枚举声明。(C89标准新增)
typedef:声明类型别名。(K&R时期引入)
sizeof:得到特定类型或特定类型变量的大小。(K&R时期引入)
inline:内联函数用于取代宏定义,会在任何调用它的地方展开。(C99标准新增)
参考资料来源:百度百科-c语言
程序如下: #include\x0d\x0avoid main()\x0d\x0a{\x0d\x0a float student[100][7]\x0d\x0a//student[][0]存放学号,student[][1]到student[][4]存放四门成绩,\x0d\x0a//student[][5]存放总分,student[][6]存放平均分,student[][7]存放排名\x0d\x0a int n,i,j,k,p,t,count,flag\x0d\x0a int a[100],b[100],c[100]\x0d\x0a//a[]存放排序后的下标,b[]存放总分(备份),c[]存放排名的数据\x0d\x0a printf("输入学生的个数:\n")\x0d\x0a scanf("%d",&n)\x0d\x0a for(i=0ib[i+1])\x0d\x0a{\x0d\x0a c[i]=count\x0d\x0a count++\x0d\x0a}\x0d\x0a }\x0d\x0a printf("\n以下是统计结果:\n")\x0d\x0a printf("学号 s[1]s[2]s[3]s[4] 总分 平均分排名\n")\x0d\x0a for(i=0i 回答于 2022-11-16欢迎分享,转载请注明来源:内存溢出
评论列表(0条)