[C语言]用结构体把平均分和低于等于平均分的学生数据输出

[C语言]用结构体把平均分和低于等于平均分的学生数据输出

  • 1、题目
  • 2、完整代码
  • 3、截图

1、题目

学生的记录由姓名和成绩组成,在主函数中输入4名学生的数据,请编写函数计算返回平均分输出,并把低于等于平均分的学生数据通过结构体指针保存输出。

要求:

  1. 使用结构体:
typedef struct Student 
{char name[20]; int score; 
}Stu;
  1. 使用子函数:float StructAvg(Stu *a,Stu *b,int n,int *m)
  2. 要在主函数中输出。

输入格式: 依次输入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、截图

在这里插入图片描述


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

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部