[C语言]用结构体把平均分和低于等于平均分的学生数据输出
[C语言]用结构体把平均分和低于等于平均分的学生数据输出
- 1、题目
- 2、完整代码
- 3、截图
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
#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、截图

本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
