用数据结构,输入学生学号和成绩,并输出该学生的平均成绩

#include

#define N 3

struct stuc

{

 long int num;

 int score[N];

};

int main()

{

 void input(struct stuc*stu);

 void print(struct stuc stu);

 struct stuc stu1;

 input(&stu1);

 print(stu1);

 return 0;

}

void input(struct stuc*stu)

{

 

 int i;

 printf("输入学生学号:");

 scanf("%ld",&stu->num);

 printf("请输入学生的成绩:");

 for(i=0;iscore[i]);

}

void print(struct stuc stu)

{

 int i,sum=0;

 for(i=0;i

  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,一个简单的学生成绩管理系统可以包括以下几个功能: 1. 添加学生信息和成绩 2. 查询学生信息和成绩 3. 修改学生信息和成绩 4. 删除学生信息和成绩 5. 统计全班成绩 下面我会逐个介绍如何实现这些功能: 1. 添加学生信息和成绩 可以定义一个结构体来存储学生信息和成绩。例如: ``` struct student { char name[20]; int id; int score; }; ``` 然后,使用动态内存分配来创建一个存储学生信息和成绩的数组。可以使用`malloc()`函数来分配内存,例如: ``` struct student *students = malloc(sizeof(struct student) * num_students); ``` 其中,`num_students`是学生数量。 接下来,可以使用`scanf()`函数来读取用户输入学生信息和成绩,例如: ``` printf("请输入学生姓名、学号成绩:"); scanf("%s %d %d", students[i].name, &students[i].id, &students[i].score); ``` 其中,`i`是当前学生的下标。 2. 查询学生信息和成绩 可以使用`printf()`函数来输出学生信息和成绩,例如: ``` printf("学生姓名:%s,学号:%d,成绩:%d\n", students[i].name, students[i].id, students[i].score); ``` 其中,`i`是要查询的学生的下标。 3. 修改学生信息和成绩 可以使用`scanf()`函数来读取用户输入的新的学生信息和成绩,例如: ``` printf("请输入新的学生姓名、学号成绩:"); scanf("%s %d %d", students[i].name, &students[i].id, &students[i].score); ``` 其中,`i`是要修改的学生的下标。 4. 删除学生信息和成绩 可以使用`memmove()`函数来删除一个学生的信息和成绩,例如: ``` memmove(&students[i], &students[i+1], sizeof(struct student) * (num_students - i - 1)); num_students--; ``` 其中,`i`是要删除的学生的下标,`num_students`是学生数量。 5. 统计全班成绩 可以使用一个循环来遍历所有学生成绩,然后计算平均分和最高分,例如: ``` int total_score = 0; int max_score = 0; for (int i = 0; i < num_students; i++) { total_score += students[i].score; if (students[i].score > max_score) { max_score = students[i].score; } } double average_score = (double)total_score / num_students; printf("全班平均分:%f,最高分:%d\n", average_score, max_score); ``` 以上就是一个简单的学生成绩管理系统的实现方法,希望能对你有所帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值