[C语言]用结构体把平均分和低于等于平均分的学生数据输出
1、题目
学生的记录由姓名和成绩组成,在主函数中输入4名学生的数据,请编写函数计算返回平均分输出,并把低于等于平均分的学生数据通过结构体指针保存输出。
要求:
- 使用结构体:
typedef struct Student { char name[20]; int score; }Stu;
- 使用子函数:float StructAvg(Stu *a,Stu *b,int n,int *m)
- 要在主函数中输出。
输入格式: 依次输入4名学生的姓名和分数
输出格式: 把低于等于平均分的学生数据保存输出
样例:
输入:
KOBE 90
YAO 90
HC 80
JAMES 70
输出:
Avg=82.5
HC 80
JAMES 70
2、完整代码
#include <stdio.h> #define N 4 typedef struct Student { char name[20]; int score; }Stu; float StructAvg(Stu* a, Stu* b, int n, int* m) { int i, j = 0, sum = 0; float avg; for (i = 0; i < n; i++) sum += a[i].score; avg = sum * 1.0 / n; for (i = 0; i < n; i++) if (a[i].score < avg) b[j++] = a[i]; *m = j; return avg; } int main() { int i, j, n; float ave; struct Student s[N]; for (i = 0; i < N; i++) { scanf("%s %d", s[i].name, &s[i].score); } struct Student h[N]; ave = StructAvg(s, h, N, &n); printf("Avg=%.1f\n", ave); for (i = 0; i < n; i++) printf("%s %d\n", h[i].name, h[i].score); printf("\n"); }
3、截图
本文作者:Dancing-Pierre
本文链接:https://www.cnblogs.com/wyc-1009/p/17548019.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步