为了能到远方,脚下的每一步都不能少.|

Dancing-Pierre

园龄:1年10个月粉丝:3关注:0

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

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

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 <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 中国大陆许可协议进行许可。

posted @   Dancing-Pierre  阅读(29)  评论(0编辑  收藏  举报  
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起