学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是:

作者&投稿:赫勤 (若有异议请与网页底部的电邮联系)
C语言,求高手 学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请~

发现你主程序有个小错误,已经改正,下列程序,望采纳
#include#include#define N 10typedef struct{char num[10];int s;}STREC;int fun(STREC *a,STREC *b){int i,j=0;int min;for(min = a->s;a->s > 0 && a->s s s;}for(a-=j,i=0;j>0;a++,j--){if(a->s==min){//printf("
%s ",a->num,a->s);strcpy(b->num,a->num);b++->s = a->s;i++;}}return i;}int main(){STREC s[N]={{"GA05",85},{"GA03",76},{"GA02",69},{"GA04",85},{"GA01",91},{"GA07",72},{"GA08",64},{"GA09",64},{"GA10",85},{"GA06",64}};STREC h[N];int i,n;n=fun(s,h);printf("The %d lowest score:
",n);for(i=0;i<n;i++)printf("%s %4d
",h[i].num,h[i].s);printf("
");}

#include
struct student
{
int id;
double score;
}s[5],b[5];
int num;
double fun(int *n)
{
double avg=0.0;
int i,count=0;
for(i=0;i<num;i++)
{
avg+=s[i].score;
}
avg=avg/num;
for(i=0;i<num;i++)
{
if(s[i].score>=avg)
{
b[count].id=s[i].id;
b[count++].score=s[i].score;
}
}
*n=count;
return avg;
}
int main()
{
int i,n=0;
printf("请输入学生人数:
");
scanf("%d",&num);
for(i=0;i<num;i++)
{
printf("请输入第%d个学生的学号:",i+1);
scanf("%d",&s[i].id);
printf("请输入第%d个学生的成绩:",i+1);
scanf("%lf",&s[i].score);
}
double ave=fun(&n);
for(i=0;i<n;i++)
{
printf("%d %.2lf
",b[i].id,b[i].score);
}
printf("%.2lf",ave);
return 0;
}

#include "stdio.h"

#define N 10

struct student

{

int num;

int score;

};

int fun(struct student s[],struct student b[])

{

int heigh,low,count=0;

printf("输入上下限
");

scanf("%d%d",&heigh,&low);

for(int i=0;i<N;i++)

{

baiif( (low <= s[i].score) && (s[i].score <= heigh) )

{

b[count].num=s[i].num;

b[count].score=s[i].score;

count++;

}

}

return count;

}

void main()

{

student b[N];

int t;

student s[N]={1,60,2,62,3,64,4,66,5,68,6,70,7,75,8,80,9,85,10,90};

t=fun(s,b);

if(t==0)

printf("范围内没有人
");

else

printf("范围内人数为:%d
",t);

}

扩展资料:

C/C++ 语言标准库中没有fun函数。fun函数是自定义函数,是使用来举例或作语法演示的,需要在使用前自行定义声明。

fun一词没什么特别含义,也可以换成别的名称,如"abc"或者"baidubaike"。它只表示引用之前出现的函数,以调用它执行一些需求,int fun(int x,int y)只是一个举例的函数名而已,以及其声明的参数类型。

参考资料来源:百度百科-fun函数



学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是:表格做的好

修改后如下:
#include "stdio.h"
#define N 10
struct student
{
int num;
int score;
};

int fun(struct student s[],struct student b[])
{
int heigh,low,count=0;
printf("输入上下限\n");
scanf("%d%d",&heigh,&low);
for(int i=0;i<N;i++)
{
if( (low <= s[i].score) && (s[i].score <= heigh) )
{
b[count].num=s[i].num;
b[count].score=s[i].score;
count++;
}
}
return count;
}
void main()
{
student b[N];
int t;
student s[N]={1,60,2,62,3,64,4,66,5,68,6,70,7,75,8,80,9,85,10,90};
t=fun(s,b);
if(t==0)
printf("范围内没有人\n");
else
printf("范围内人数为:%d\n",t);
}

#include "stdio.h"
#define N 10
struct student
{
int num;
int score;
};

int fun(struct student s[],struct student b[])
{
int i,heigh,low,count=0;
printf("输入上下限\n");
scanf("%d%d",&low,&heigh);
for(i=0;i<N;i++)
{
if( (low <= s[i].score) && (s[i].score <= heigh) )
{
b[count].num=s[i].num;
b[count].score=s[i].score;
count++;
}
}
return count;
}
void main()
{
struct student b[N];
int t;
struct student s[N]={1,60,2,62,3,64,4,66,5,68,6,70,7,75,8,80,9,85,10,90};
t=fun(s,b);
if(t==0)
printf("范围内没有人\n");
else
printf("范围内人数为:%d\n",t);
}

#include<stdio.h>
#include<string.h>

typedef struct student
{char num[10];
double score;
} strec ;
int fun(student*, int, student**,int,int);
int main()
{
strec s[5]={{"0001",90} ,{"0002",80.0},{"0003",70},{"0004",60},{"0005",50}};
strec *b;
int count = fun(s,5, &b, 60, 90);
for(int i = 0; i < count; i ++)
{
printf("%s %.2f\n", b[i].num, b[i].score);
}
}
int fun(strec* a,int num, strec **b,int l,int h)//l,h表示分数范围,第二个int表示传入a数组的元素个数
{
int count = 0;
strec * re = new strec[num];
for(int i = 0; i < num; i ++)
{
if(a[i].score >= l && a[i].score <= h)
{
count++;
re[i].score = a[i].score;
strcpy(re[i].num, a[i].num);
}
}
*b = re;
return count;
}

对你的函数修改了一下
int fun(student*, int, student**,int,int); //添加了一个int,第三个参数改为传入b的地址。
在vs 2008测试运行过了,结果如下:
0001 90.00
0002 80.00
0003 70.00
0004 60.00
请按任意键继续. . .


学生记录包括:学号、姓名、成绩.
printf("输入第%d个学生记录的学号:",i+1);scanf("%d",&stu[i].id);printf("输入第%d个学生记录的姓名:",i+1);scanf("%s",stu[i].name);printf("输入第%d个学生记录的成绩:",i+1);scanf("%d",&stu[i].score);} } void output(){ for(int i=0;i<10;i++){ printf("...

一条学生记录包括学号、姓名、成绩。 1 格式化输入多个学生记录 2 用...
include <stdio.h> include <stdlib.h> define SIZE 4 \/\/定义学生成员的个数 \/\/定义学生成员结构体 struct student { int stu_NO;char name[15];int score;} stu[SIZE];\/\/排序qsort调用子函数(结构体型元素排序)int cmp(const void *a,const void *b){ return((struct student*)a...

已知学生记录由学号和成绩组成,输入n个学生的学号和成绩。找出成绩最高...
要不你试着把printf("%12s%5f\\n",pstu[i]->no,pstu[i]->grade);改成printf("%12s%5lf\\n",pstu[i]->no,pstu[i]->grade);我乱猜的,太长懒得看

输入50个学生的记录(每个学生的记录包括学号和成绩),组成记录数组,然后...
include<stdio.h> typedef struct Node { int no;int score;}stud;int main(){ stud a[50],temp;int m;printf("输入学号、成绩:如101 90");for(int i=0;i<50;i++)scanf("%d%d",&a[i].no,&a[i].score);\/\/sort for(int j=0;j<50-1;j++){ m=j;for(int k=j+1;k<...

c语言编程题。 某学生的记录由学号,八门课成绩和平均分组成。编程实现...
include <stdio.h> int main(void){ int a[8];int max,pingjun,sum=0;for (int i=0; i<8;++i ) { scanf("%d",&a[i]);sum+=a[i];} max=a[0];pingjun=sum\/8;for (int k=1; k<8; ++k) { if (a[k]>max) { max=a[k];} } printf("%d\\n",max);printf("%d...

C语言:学生记录含:学号、姓名、出生日期、3门课的成绩。
printf("开始输入第%d个学生记录\\n",i+1); printf("输入第%d个学生记录的学号:",i+1); scanf("%d",&stu[i].id); printf("输入第%d个学生记录的姓名:",i+1); scanf("%s",stu[i].name); printf("输入第%d个学生记录的生日:",i+1); scanf("%s",stu[i].birth); printf("输入第%d个学生...

设计题目: 学生信息管理系统设计
设学生成绩已以一个学生一个记录的形式存储在文件中, 每位学生记录包含的信息有:姓名,学号和各门功课的成绩。 程序具有以下几项功能:求出各门课程的总分,平均分,按姓名, 按学号寻找其记录并显示,浏览全部学生成绩和按总分由高到低显示学生信息等。 *\/ #include <stdio.h> #define SWN 3 \/* 课程数 *\/ #...

急求!!!全国计算机等级考试二级C机考题库 附答案的最好 !急!!!_百度...
46: 第46题 学生得记录由学号和成绩组称个,n名大学生得数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能时:按分数的高低排列学生的记录,高分在前。 答案:void fun(strec a[]){int i,j;strec t;for(i=0;i<n-1;i++)for(j=i;s<n;j++)if(a.s<a[j].s){t=a;a=a[j];a[j]...

2010南开c语言100上机题库
46: 第46题 学生得记录由学号和成绩组称个,n名大学生得数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能时:按分数的高低排列学生的记录,高分在前。 答案: void fun(strec a[]) {int i,j; strec t; for(i=0;i<n-1;i++) for(j=i;s<n;j++) if(a.s...

请用c语言编写一个函数fun功能是:计算n门课程的平均分,计算结果作为函 ...
float fun(float a[],int n){ int i;float s=0,t;for(i=0;i<n;n++)s=s+a[i];t=s\/n;return(t);}

西区18611439456: 学生的记录由学号和成绩组成N 名学生的数据已在已在主涵数中放入结构体数组S 中请编写涵数fun,它的功能是:把高于等于平均分的学生的数据放在b 所指的数组中,高于等于平均分的学生人数通过形参传回
穰闹安吉: #include<stdio.h>#include<string.h>#define N 5#define MAX 10struct Student void PrintOut() //取最小分数 static Student GetLowestScore(Student students[],int length) } return student; }};void main() printf("最小成绩的学生情况是:\n"); Student::GetLowestScore(students,N).PrintOut(); getchar();} 如果帮助到您,请记得采纳为满意答案哈,谢谢!祝您生活愉快! vae.la

西区18611439456: 学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组a中,请编写函数fun,它的功 -
穰闹安吉: #include struct Student{ int number; int score; }; struct Student* fun(struct Student stu[],int n){ int i; struct Student max={0,0}; for(i=0;i if(stu[i].score>max.score)max=stu[i]; } return &max; } int main(){ struct Student stumax,stu[5]={1,85,2,64,3,78,4,57,5,...

西区18611439456: 34. 学生的记录由学号和成绩组成,N名学生的数据在主函数中放入结构体数组s中,请编写函数fun,它的功能是 -
穰闹安吉: #include stdio.h #define N 3 struct Student {int number;int score; }; void main() {struct Student stu[N]={01,97,02,89,03,91};struct Student *p;p=stu;int fun(struct Student *);printf("The highest score:%d\n",fun(p)); } int fun(struct Student *q) {...

西区18611439456: 学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是: -
穰闹安吉: #define N 3//学生记录结构体 typedef struct stu { char num[10];//学号 int score;//分数 } Stu; int fun (Stu *s, Stu * h) { Stu min; min = s[0]; int i, count = 0;//求分数最低的学生数据 for (i = 0; iif (min.score > s[i].score) min = s[i];//再次遍历,求人数 for (i = 0; iif (s[i].score == min.score) { *(h + count) = s[i]; count++; } return count; }

西区18611439456: 编写函数已知学生的记录由学号和学习成绩构成,写一个函数将N名学生的数据存入a数 -
穰闹安吉: #include#include#define N 5#define MAX 10 struct Student { int _sid; double _score; public: void ReadInfo(int sid,double score) { _sid=sid; _score=score; } void PrintOut() { printf("Id:%d\tScore:%lf\n",_sid,_score); } //取最小分数 static Student ...

西区18611439456: 已知学生的记录由学号和学习成绩构成,N名学生的数据已存入结构体数组a中.请编写函数 fun,函数的功能是 -
穰闹安吉: 1.学生的记录由学号和成绩组成,n名学生的数据在主函数中放入结构体数组a中,请编写函数fun,它的功能是:找出成绩最低的学生记录,通过形参返回主函数(规定只有一个最低分).在主函数中调用函数fun,并输出结果.

西区18611439456: C语言结构体编程 -
穰闹安吉: void fun(STREC a[]) { char num[10];int s,i,j,k;for ( i=0;ifor ( j=i+1;j if ( a[i].s { for ( k=0;k<10;k++ ) { num[k]=a[i].num[k]; a[i].num[k]=a[j].num[k]; a[j].num[k]=num[k]; } s=a[i].s; a[i].s=a[j].s; a[j].s=s; } }

西区18611439456: 输入50个学生的记录(每个学生的记录包括学号和成绩),组成记录数组,然后按成绩由高到低的次序输出(每行 -
穰闹安吉: #include<stdio.h> typedef struct Node {int no;int score; }stud; int main() { stud a[50],temp; int m; printf("输入学号、成绩:如101 90"); for(int i=0;i<50;i++)scanf("%d%d",&a[i].no,&a[i].score); //sort for(int j=0;j<50-1;j++){m=j;for(int k=j+1;...

西区18611439456: 用C++编两个小函数...急!!!!!!!!! -
穰闹安吉: 贴个使用STL的方法,学C++的话建议常使用STL使问题简化:=================#include <time.h>#include <vector>#include <algorithm> using namespace std;/*1.学生的记录由学号和成绩组成,N名学生的数据在主函数中放入结构体数组a中...

西区18611439456: C程序设计 最好把算法也说明一下 要快啊,着急! -
穰闹安吉: 1.#include<stdio.h>#define N 3 struct student {int number; double score;}a[N]={{20101,96.7},{20102,85.6},{20103,99.5}}; void main() { struct student fun(struct student *b); struct student *p; printf("The number and score\n"); for(p=a;p<a+3;p++) {...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网