更多"编程题
N名学生的成绩已在主函数中放入一个带头节点的链表结构中,h指"的相关试题:
[简答题]N名学生的成绩已在主函数中放入一个带头节点的链表结构中,h指向链表的头节点。请编写函数fun( ),它的功能是:找出学生的最高分,由函数值返回。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序:
#include <stdio.h>
#include <stdlib.h>
#define N 8
struct slist
double s;
struct slist *next;
;
typedef struct slist STREC;
double fun(STREC *h)
STREC * creat (double *s)
STREC *h, *p, *q;
int i=0;
h=p=(STREC*)malloc(sizeof(STREC));
p->s=0;
while(i<N)
/*产生8个节点的链表,各分数存入链表中*/
q=(STREC*) malloc(sizeof(STREC));
p->s=s[i]; i++; p->next=q; p=q;
p->next=0;
return h; /*返回链表的首地址* /
outlist (STREC *h)
STREC *p;
p=h->next;
printf("head");
do
printf("->%2.0f ",p->s);p=p->next;
/*输出各分数* /
while (p!=0);
printf("/n/n ");
main( )
double s[N]
[简答题]N名学生的成绩已在主函数中放入一个带有头结点的链表结构中,h指向链表的头结点。请编写函数fun,其功能是:找出学生的最高分,并由函数值返回。
注意:部分源程序已给出。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序:
#include<stdio.h>
#include<stdlib.h>
#define N 8
struet slist
double s;
struct slist*next;
;
typedef struct slist STREC;
double fun(STREC*h)
STREC*creat(double*s)
STREC*h,*p,*q;
int i=0;
h=p=(STREC*)malloc(sizeof(STREC));
p->s=0;
while(i<N)
/*产生8个结点的链表,各分数存入链表中*/
q=(STREC*)malloc(sizeof(STREC));
p->s=s[i];i++;p->next=q;
p=q;
p->next=NULL;
return h;/*返回链表的首地址*/
void outlist(STREC*h)
STREC *p;
p=h;
printf("head");
do
printf("->%2.0f",p->s);
p=p->next;
/*输出各分数*/
while(p->next!=NULL);
printf("/n/n");
void main( )
double s[N]=85,100,99,85,91,72,64,87,max;
STREC*h;
h=creat(s);
outlist(h);
max=fun
[简答题]N名学生的成绩已在主函数中放人一个带头结点的链表结构中,h指向链表的头结点。请编写函数fun,其功能是:求出平均分,并由函数值返回。
例如,若学生的成绩是:85,76,69,85,9l,72,64,87,则平均分应当是:78625。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若千语句。
试题程序:
#include<stdlib.h>
#include<stdio.h>
#define N 8
struct slist
double s;
struct slist*next;
;
typedef struct slist STREC;
double fun(STREC*h)
STREC*creat(double*s) /*创建链表*/
STREC*h,*p,*q;
int i=0;
h=P=(STREC*)mallocsizeof(STREC));
P->s=0;
whilel(i<N)
q=(STREC*)mallodsizeof(STREC));
q->s=s[i];i++lp->next=q;P=q;
p->next=0;
return h;
ouclist(STREC*h)
STREC*p;
P=h->next;
printf("head");
do
printf("->%4.1f",p->s);
P=P->next;/*输出各成绩*/
while(p!=NULL);
printf("/n/n");
void main( )
double s[N]=85,76,69,85,91,72,64,87,ave;
STREC*h;
h=creat(s);outlist(h);
ave=fun(h);
[简答题]学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构件数组s中,请编写函数fun( ),它的功能是:把分数最高的学生数据放在h所指的数组中。注意:分数高的学生可能不只一个,函数返回分数最高学生的人数。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序:
#include <stdio.h>
#define N 16
typedef struct
char num[10];
int s;
STREC;
int fun(STREC *a,STREC *b)
main ( )
STREC s [N] = "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 h[N];
int i, n;
FILE *out;
n=fun(s,h);
printf("The %d highest score :/n",n);
for (i=0; i<n; i++)
printf("%s %4d/n ",h[i].num, h[i].s);
/*输出最高分学生的学号和成绩* /
printf("/n");
out=fopen("out45.dat", "w");
fprintf(out, "%d/n",n);
for(i=0; i<n; i++)
fprintf(out, "%4d/n ",h[i].s);
fclose(o
[简答题]学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fjun( ),该函数的功能是:把高于等于平均分的学生数据放在b所指的数组中,高于等于平均分的学生人数通过形参n传回,平均分通过函数值返回。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序:
#include <stdio.h>
#define N 12
typede f struct
{ char num[10];
double s;
} STREC;
double fun (STREC *a,STREC *b, int *n)
{
}
main ( )
STREC s IN] = { { "GA05", 85 }, { "GA03", 76 },
{"GA02", 69}, {"GA04", 85}, {"GA01", 91},
{"GA07", 72}, {"GA08", 64}, {"GA06", 87},
{"GA09", 60}, { "GAll", 79 }, { "GA12", 73},
{"GA10", 90 } };
STREC h[N],t;
FILE *out;
int i ,j,n;
double ave;
ave=fun (s, h, &n);
printf("The %d student data which is
higher than %7.3f: In", n, ave);
for(i=0; i<n; i++)
printf ("%s %4.1f/n",h[i] .num, h[i] .s);
printf ("/n");
out=fopen ("out90.dat", "w");
fprintf(out, "%dkn %7.3f/n",n,ave);
for(i=0; i<n-1; i++)
for (j=i+l; j<n; j ++)
if (h[i] .s<h[j ] .s)
{t=h Ii] ;h[i]=h[j] ;h[j]=t; }
[简答题]学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组S中,请编写函数fun,其功能是:把低于平均分的学生数据放入b所指的数组中,低于平均分的学生人数通过形参n传回,平均分通过函数值返回。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
试题程序:
#include<stdio.h>
#define N 8
typedef struct
char num[10];
double s;
STREC;
double fun(STREC*a,STREC*b,int*n)
void main( )
STREC s[N]="GA05",85,"GA03",76,"GA02",69,"GA04",85,"GA01",91,"GA07",72,"GA08",64,"GA06",87;
STREC h[N];
int i,n;
double ave;
ave=fun(s,h,&n);
printf("The%d student data which is lower
than%7.3f:/n"
n,ave);
for(i=0;i<n;i++)/*输出成绩低于平均值的学生记录*/
printf("%s%4.1f/n",h[i],num,h[i],s;
printf("/n");
[简答题]学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun( ),该函数的功能是:把高于等于平均分的学生数据放在b所指的数组中,低于平均分的学生数据放在c所指的数组中,高于等于平均分的学生人数通过形参n传回,低于平均分的学生人数通过形参m传回,平均分通过函数值返回。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序:
#include <stdio.h>
#define N 12
typedef struct
char num[10];
double s;
STREC;
double fun(STREC *a,STREC *b,STREC *c,int *n,int *m)
main( )
STREC s[N]="GA05",65,"GA03",86,
"GA02",76,"GA04",95,"GA01",93,
"GA07",78,"GA08",68,"GA06",88,
"GA09",60,"GA11",54,"GA12",56,
"GA10",98;
STREC h[N],l[N],t;
FILE *out;
int i,j,m,n;
double ave;
ave=fun(s,h,l,&n,&m);
printf("The %d student data which is higher than %7.3f:/n",n,ave);
for(i=0;i<n;i++)
printf("%s %4.lf/n",h[i].num,
h[i].s);
printf("/n");
printf("The %d Student data which iS lower than%7.3f:/n",m,ave);
for(i=0;i<m;i++)
printf("%s %4.1f/n
[简答题]学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun( ),它的功能是:函数返回指定成绩的学生数据,指定的成绩在主函数中输入。若没找到指定的成绩,在结构体变量中给学号置空串,给成绩置-1,作为函数值返回。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序:
#include<stdio.h>
#include<stdlib.h>
#define N 16
typedef struct
char num[l0];
int s;
STREC;
STREC fun(STREC *a,int b)
main( )
STREC s[N)="GA005",76,"GA003",89,
"GA002",64,"GA004",75,"GA001",88,
"GA007",65,"CA008",96,"GA006",69,
"GA015",85,"GA013",78,"GA012",62,
"GA014",60,"GA011",73,"GA017",72,
"GA018",98,"GA016",94;
STREC h;
int m;
int i,n;
FILE *out;
printf("The original data:/n");
for(i=0;i<N;i++)
if(i%4==0)
printf("/n");
/*每行输出4个学生记录*/
printf("%s%3d",s[i].num,s[i].s);
printf("/n/nEnter the score:");
scanf("%d",&m);
h=fun(s,m);
printf("The data:");
printf("/n%s %4d/n",h.mum,h.s);
printf("/n"
[简答题]N名学生的成绩己在主函数中放入一个带头节点的链表结构中,h指向链表的头节点。请编写函数fun( ),它的功能是:求出平均分,由函数值返回。
例如,若学生的成绩是85,76,69,91,72,64,87,则平均分应当是78.625。
注童:部分源程序给出如下.
请勿改动主函数main和其他函数中的任何内容,仅在函数6m的花括号中填入所编写的若干语句。
试题程序:
#include<stdlib.h>
#include<stdio. h>
#define N 8
struct slist
double s;
struct slist *next;
;
typedef struct slist STREC;
double fun(STREC *h)
STREC *creat(double *s) /*创建链表*/
STREC *h,*p, *q;
int i=0;
h=p= ( STREC*)malloc (sizeof (STREC));
p->s=0;
while (i<N)
q= ( STREC*)malloc (sizeof (STREC));
q->s=s Ii]; i++;p->next=q;p=q;
p->next=0;
return h;
outlist (STREC *h)
STREC *p;
p=h->next;
printf ("head ");
do
printf ("->%4. if ",p->s);
p=p->next; /*输出各成绩*/
while (p !=0)
main ( )
double s [N] = 85,76, 69, 85, 91,72, 64,
87,ave;
STREC *h;
h=creat (s);