《C语言程序设计》实 验 报 告5Word文档下载推荐.docx

上传人:b****2 文档编号:1391425 上传时间:2023-04-30 格式:DOCX 页数:31 大小:112KB
下载 相关 举报
《C语言程序设计》实 验 报 告5Word文档下载推荐.docx_第1页
第1页 / 共31页
《C语言程序设计》实 验 报 告5Word文档下载推荐.docx_第2页
第2页 / 共31页
《C语言程序设计》实 验 报 告5Word文档下载推荐.docx_第3页
第3页 / 共31页
《C语言程序设计》实 验 报 告5Word文档下载推荐.docx_第4页
第4页 / 共31页
《C语言程序设计》实 验 报 告5Word文档下载推荐.docx_第5页
第5页 / 共31页
《C语言程序设计》实 验 报 告5Word文档下载推荐.docx_第6页
第6页 / 共31页
《C语言程序设计》实 验 报 告5Word文档下载推荐.docx_第7页
第7页 / 共31页
《C语言程序设计》实 验 报 告5Word文档下载推荐.docx_第8页
第8页 / 共31页
《C语言程序设计》实 验 报 告5Word文档下载推荐.docx_第9页
第9页 / 共31页
《C语言程序设计》实 验 报 告5Word文档下载推荐.docx_第10页
第10页 / 共31页
《C语言程序设计》实 验 报 告5Word文档下载推荐.docx_第11页
第11页 / 共31页
《C语言程序设计》实 验 报 告5Word文档下载推荐.docx_第12页
第12页 / 共31页
《C语言程序设计》实 验 报 告5Word文档下载推荐.docx_第13页
第13页 / 共31页
《C语言程序设计》实 验 报 告5Word文档下载推荐.docx_第14页
第14页 / 共31页
《C语言程序设计》实 验 报 告5Word文档下载推荐.docx_第15页
第15页 / 共31页
《C语言程序设计》实 验 报 告5Word文档下载推荐.docx_第16页
第16页 / 共31页
《C语言程序设计》实 验 报 告5Word文档下载推荐.docx_第17页
第17页 / 共31页
《C语言程序设计》实 验 报 告5Word文档下载推荐.docx_第18页
第18页 / 共31页
《C语言程序设计》实 验 报 告5Word文档下载推荐.docx_第19页
第19页 / 共31页
《C语言程序设计》实 验 报 告5Word文档下载推荐.docx_第20页
第20页 / 共31页
亲,该文档总共31页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

《C语言程序设计》实 验 报 告5Word文档下载推荐.docx

《《C语言程序设计》实 验 报 告5Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《《C语言程序设计》实 验 报 告5Word文档下载推荐.docx(31页珍藏版)》请在冰点文库上搜索。

《C语言程序设计》实 验 报 告5Word文档下载推荐.docx

{

a=student[0];

student[0]=student[1];

student[1]=a;

}

student[2].num)

student[0]=student[2];

student[2]=a;

if(student[1].num>

a=student[1];

student[1]=student[2];

}

main()

PERSONstudent[]={5,"

Rose"

2,

"

Charl"

6,"

Kate"

};

inti;

fun(student);

printf("

\nTheresultis:

\n"

);

for(i=0;

i<

3;

i++)

%d,%s\n"

student[i].num,

student[i].name);

getch();

程序运行结果示例:

41.1/*给定程序中,函数fun的功能是:

将形参student所指结构体数组中年龄最小者的数据作为函数值返回,并在main函数中输出。

请勿改动主函数main与其他函数中的任何内容,仅在fun函数的横线上填写所需的若干表达式或语句。

部分源程序给出如下?

intage;

}STUDENT;

STUDENTfun(STUDENTstudent[],intn)

STUDENTmin;

min=student[0];

for(i=1;

n;

if(min.age>

student[i].age)

min=student[i];

returnmin;

STUDENTstudent[3]={"

alice"

17,

baren"

16,"

caren"

18};

min=fun(student,3);

\nTheminageresult\n"

\nName:

%s,Age:

%d\n"

min.name,

min.age);

79.1/*已知学生的记录由学号和学习成绩组成,N名学生的数据已存入student结构体中,给定程序的功能是找出成绩最高的学生记录,通过形参返回主函数。

string.h>

#defineN10

typedefstructs

charnum[10];

ints;

}student;

fun(studentSTU[],student*s)

studenta;

a=STU[0];

N;

if(STU[i].s>

a.s)

a=STU[i];

*s=a;

studentSTU[N]=

{"

01"

81},{"

02"

89},{"

03"

66},

{"

04"

87},{"

05"

77},{"

06"

90},{"

07"

79},{"

08"

61},{"

09"

80},{"

10"

71}},m;

Theoriginaldata\n"

printf("

No=%sMark=%d\n"

STU[i].

num,STU[i].s);

fun(STU,&

m);

Thehighst:

%s,%d\n"

m.num,

m.s);

95.1/*请补充函数fun,该函数的功能是建立一个带头结点的单向链表并输出到文件file.dat和屏幕上,各结点的值为对应的下标,链表的结点数及输出的文件名作为参数传入。

#include<

stdlib.h>

{

intdata;

structs*next;

}NODE;

voidfun(intn,char*filename)

NODE*h,*p,*s;

FILE*f;

h=p=(NODE*)malloc(sizeof(NODE));

h->

data=0;

s=(NODE*)malloc(sizeof(NODE));

s->

data=i;

p->

next=s;

p=p->

next;

next=NULL;

if((f=fopen(filename,"

w"

))==NULL)

Cannotopenfile.dat!

exit(0);

p=h;

fprintf(f,"

THELIST\n"

while(p)

%3d"

p->

data);

if(p->

next!

=NULL)

->

fclose(f);

{

s=p;

free(s);

char*filename="

file.dat"

;

intn;

\nPleaseinputn:

scanf("

%d"

&

n);

fun(n,filename);

getch();

二、改错题

35.2/*下列给定程序是建立一个带头结点的单向链表,并用随机函数为各结点赋值。

函数fun的功能是将单向链表结点(不包括头结点)数据域为偶数的值累加起来,并且作为函数值返回。

请修改函数fun中的错误,得出正确的结果。

不要改动main函数,不能增行或删行,也不能更改程序的结构?

conio.h>

typedefstructa

structa*next;

}NODE;

intfun(NODE*h)

intsum=0;

NODE*p;

p=h->

/*******error*********/

while(p!

data%2==0)

sum+=p->

data;

returnsum;

NODE*link(intn)

NODE*h,*p,*s;

h=p=(NODE*)malloc(sizeof(NODE));

s=(NODE*)malloc(sizeof(NODE));

data=rand()%16;

next=p->

returnh;

printlink(NODE*h)

\n\nTHELIST:

\n\nHEAD"

%d"

NODE*head;

intsum;

head=link(5);

printlink(head);

sum=fun(head);

\nTheresultSUM=%d"

sum);

}

44.2/*下列给定程序中,函数的功能是:

对N名学生的学习成绩,按从高到低的顺序找出前m(m≤10)名学生,并将这些学生数据存放在一个动态分配的连续存储区中,将此存储区的首地址作为函数值返回。

不要改动main函数,不能增行或删行,也不能更改程序的结构。

STUDENT*fun(STUDENTa[],intm)

STUDENTb[N],*t;

inti,j,k;

/********error********/

t=(STUDENT*)malloc(sizeof(STUDENT));

b[i]=a[i];

for(k=0;

k<

m;

k++)

for(i=j=0;

if(b[i].s>

b[j].s)

j=i;

strcpy(t[k].num,b[j].num);

t[k].s=b[j].s;

b[j].s=0;

returnt;

printresult(STUDENTa[],FILE*pf)

fprintf(pf,"

a[i].num,a[i].s);

\n\n"

STUDENTa[N]=

71}

};

STUDENT*Order;

inti,m;

*****TheOriginaldata*****\n"

printresult(a,stdout);

\nGivethenumberofthestudentswhohavebetterscore:

"

while(m>

10)

Order=fun(a,m);

*****THERESULT*****\n"

Thetop:

%s%d\n"

Order[i].num,

Order[i].s);

free(Order);

88.2/*下列给定程序中的函数link的功能是:

创建带头结点的单向链表,并为各结点数据域赋0到max-1的值。

请修改函数link中的错误,得出正确的结果。

NODE*link(intn,intmax)

NODE*h=NULL,*p,*s;

h=s;

/******error**********/

p=s;

i++)

data=rand()%(max-1);

head=link(10,20);

89.2/*下列给定程序是建立一个带头结点的单向链表,并用随机函数为各结点数据域赋值。

函数fun的作用是求出单向链表结点(不包括头结点)数据域中的最大值,并且作为函数值返回。

fun(NODE*h)

intmax=-1;

data>

max)

max=p->

returnmax;

printresult(ints,FILE*pf)

\nThemaxinlink:

s);

NODE*link(intn,intm)

data=9999;

=n;

data=rand()%m;

printlink(NODE*h,FILE*pf)

\nTHELIST:

intm;

head=link(12,100);

printlink(head,stdout);

m=fun(head);

\nTHERESULT:

printresult(m,stdout);

三、设计题

17.3/*学生的记录由学号和成绩组成,M名学生的数据已在主函数中放入结构体数组student中,请编写函数fun,它的功能是按分数的高低排列学生的记录,高分在前。

请勿改动主函数main与其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。

#defineM10

}SCORE;

voidfun(SCOREa[])

inti,j;

SCOREk;

M;

for(j=i+1;

j<

j++)

if(a[i].s<

a[j].s)

k=a[i];

a[i]=a[j];

a[j]=k;

main()

SCOREstudent[M]={{"

002"

69},{"

004"

85},{"

001"

91},{"

007"

72},{"

008"

64},{"

006"

015"

85},{"

012"

014"

011"

66}};

FILE*out;

Thedataaftersorted:

if((i)%4==0)

%s%4d"

student[i].s);

out=fopen("

outfile.dat"

"

if((i)%4==0&

&

i)

fprintf(out,"

%4d"

student[i].s);

fclose(out);

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

函数返回指定学号的学生数据,指定的学号在主函数中输入。

若没找到指定学号,在结构体变量中给学号置空串,给成绩置-1,作为函数值返回(用于字符串比较的函数是strcmp)。

*/

SCOREfun(SCORE*p,char*q)

SCOREa;

if(strcmp(p[i].num,q)==0)

{a=p[i];

break;

else

strcpy(a.num,"

a.s=-1;

returna;

SCOREstu[M]={{"

G002"

G004"

G001"

96},{"

G007"

G008"

G006"

G015"

G013"

94},{"

G012"

G014"

91}};

SCOREt;

charm[10];

Theoriginaldata:

if(i%4==0)printf("

%s%3d"

stu[i].num,stu[i].s);

\n\nEnterthenumber:

gets(m);

t=fun(stu,m);

Thedata:

\n%s%4d\n"

t.num,t.s);

t=fun(stu,"

%s%4d\n"

55.3/*已知学生的记录由学号和学习成绩构成,M名学生的数据已存入a结构体数组中。

请编写函数fun,该函数的功能是:

找出成绩最高的学生记录,通过形参返回主函数(规定只

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2