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

Dancing-Pierre

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

[C语言]用结构体把输入的指定分数范围内的学生输出

[C语言]用结构体把输入的指定分数范围内的学生输出

1、题目

学生的记录由姓名和成绩组成且在主函数中通过结构体数组初始化,无需输入。请编写函数实现把输入的指定分数范围内的学生通过结构体指针保存数据并输出。

要求:

  1. 使用结构体:
typedef struct Student
{
char name[20];
int score;
}Stu;
  1. 给定原始12位学生数据:
{"HC105",85},{"HC103",76},{"HC102",69},{"HC104",85},
{"HC101",96},{"HC107",72},{"HC108",64},{"HC106",87},
{"HC115",85},{"HC113",94},{"HC112",64},{"HC114",91}
  1. 使用子函数:void StructSearch(Stu *a, Stu *b, int low, int high ,int n,int *m)

输入格式: 输入两个分数

输出格式: 把在分数范围的学生信息输出

样例:

输入:75,86
输出:
HC105,85
HC103,76
HC104,85
HC115,85

2、完整代码

#include <stdio.h>
#define N 12
typedef struct Student
{
char name[20];
int score;
}Stu;
int StructSearch(Stu* a, Stu* b, int low, int high, int n, int* m)
{
int i, j = 0;
for (i = 0; i < n; i++)
{
if (a[i].score >= low && a[i].score <= high)
{
b[j++] = a[i];
}
}
m = j;
}
int main()
{
struct Student s[N] = { {"HC105",85},{"HC103",76},{"HC102",69},{"HC104",85},
{"HC101",96},{"HC107",72},{"HC108",64},{"HC106",87},
{"HC115",85},{"HC113",94},{"HC112",64},{"HC114",91} };
struct Student h[N];
int i, j, n, low, high, t;
scanf("%d,%d", &low, &high);
n = StructSearch(s, h, low, high, 12, &n);
for (i = 0; i < n; i++)
printf("%s,%d\n", h[i].name, h[i].score);
}

3、截图

在这里插入图片描述

本文作者:Dancing-Pierre

本文链接:https://www.cnblogs.com/wyc-1009/p/17548020.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

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