出两个结构体题目 没事的来坐坐
这么久 发了两个帖子 https://bbs.bccn.net/thread-339181-1-1.html
https://bbs.bccn.net/thread-338683-1-1.html
可是没几个人回帖 大牛去看看哈
这次出个简单题目
大家各自用各自方法解决 有创意的 多加分哈
数据我自己输入了 大家主要弄子函数即可 come on
1、以下程序的功能是处理由学号和成绩组成的学生记录,M名学生的数据已在主函数中放入结构体数组str中,请编写函数proc(),它的功能是把低于平均分的学生数据放在b所指的数组中,低于平均分的学生人数通过形参n传回,平均分通过函数值返回。
#include <stdio.h>
#define M 16
typedef struct
{ char num[10];
Double s;
} STREC;
double proc(STREC *a, STREC *b, int *n)
{
}
void main()
{STREC str[M]={ {"GA005",85},{"GA003",76},{"GA002",69},{"GA004",85}, {"GA001",91},{"GA007",72},{"GA008",64},{"GA006",87}, ? {"GA015",85},{"GA013",91},{"GA012",64},{"GA014",91},
{"GA011",66},{"GA017",64},{"GA018",64},{"GA016",72} ?};
STREC b[M];
int i,n;
double ave;
ave=proc(str,b,&n);
printf("有 %d 的学生分数低于平均分%4.1f。\n", n,ave);
for(i=0;i<n;i++)
//输出成绩低于平均分的学生记录
printf("%s %4.1f\n", b[i].num,b[i].s);
printf(“\n"); }
2、学生的记录由学号和成绩组成,M名学生的数据已在主函数中放入结构体数组stu中,请编写函数proc(),其功能是:函数返回指定成绩的学生数据,指定的成绩在主函数中输入。若没找到指定的成绩,在结构体变量中给学号置空串(’\0’),给成绩置-1,作为函数值返回。
#include <stdio.h>
#define M 16
typedef struct
{ char num[10];
Double s;
} STREC;
STREC proc(STREC *a, int b)
{
}
void main()
{STREC str[M]={ {"GA005",85},{"GA003",76},{"GA002",69},{"GA004",75}, {"GA001",91},{"GA007",72},{"GA008",64},{"GA006",87}, ? {"GA015",83},{"GA013",94},{"GA012",34},{"GA014",51},
{"GA011",66},{"GA017",74},{"GA018",84},{"GA016",42} ?};
STREC b;
int i,m;
printf("学生成绩列表如下:\n");
for(i=0;i<M;i++)
{ if ((i+1)%4==0) //每行输出4个记录
printf("\n");
printf("%s %4d\n", stu[i].num,stu[i].s); }
printf("输入要查找的成绩:\n");
scanf(“%d”,&m);
b=proc(stu,m);
printf("查找结果:\n");
printf("%s %4d\n", b.num,b.s);
printf(“\n"); }