ImageVerifierCode 换一换
格式:DOC , 页数:39 ,大小:313KB ,
资源ID:3903239      下载积分:12 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/3903239.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(高级程序语言程序设计实验报告材料.doc)为本站上传会员【a199****6536】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

高级程序语言程序设计实验报告材料.doc

1、 高级语言程序设计课程设计 题目:多重模块管理 专 业 计算机 班 级 1306班 学 生 林道松 学 号 3131903609 指导教师 鲍春波 /肖琳 起止时间 2014-2-17—2014-2-21 2014年 2月 目录 A组题目 1 系统分析 30

2、 系统设计 30 系统实现 31 运行测试 31 心得体会 34 参考文献 34 A组题目 题目1: 写一个函数计算下列函数的值f(0),f(3),f(-3),测试之。函数如下: 解: #include int main() {int f(int n); int num,result; printf("input the x : "); scanf("%d",&num); result=f(num); printf("the result is %d\n",result

3、); } int f(int n) { int s; if(n>0) s=3*n*n-4; if(n==0) s=2; if(n<0) s=0; return s; } 评析:这是一个简单的选择判断结构,只需将条件编写清楚即可。 题目2: 写一个函数void maxMinAver(int *data, int *max, int *min,float * ave,int size), 求一组数据的最大值、最小值和平均值,测试之。其中data指向给定数据的数组的指针,max、min、ave分别指向最大值、最小值和平均值,size是数

4、组的大小。 要求第一个实参是数组,第2、3、4个实参都是对普通的简单变量的某种操作,最后一个实参是数组的大小。测试之 解: #include #include void maxMinAver(int *data,int *max, int *min,float * ave,int size); int main() { int n,i; int max,min; float ave; int *data; printf("please enter the numbers:\n"); scanf(

5、"%d",&n); data=(int*)malloc(n*sizeof(int)); for(i=0;i

6、max=data[0]; *min=data[0]; for(i=0;i=data[i]) *min=data[i]; sum+=data[i]; } *ave=(float)sum/size; } 评析:这是一个以指针为参数的函数,用冒泡法对数组中的每一个数进行比较,这道题目的需要注意的地方就是在函数的调用需注意函数实参,以及对数组内存空间的申请。

7、 题目3: 写一个函数用指针型字符串实现两个字符串比较,int mystrcmp(const char *str1, const char *str2),如果大于返回1,等于返回0,小于返回-1,测试之 解: #include int mystrcmp(const char *str1, const char *str2); int main() { char str1[100],str2[100]; scanf("%s %s",str1,str2); printf("%d\n",mystrcmp(str1,str2));

8、 return 0; } int mystrcmp(const char *str1, const char *str2) { int i; for(i=0;*(str1+i) != '\0' && *(str2+i) !='\0';i++) { if(*(str1+i) > *(str2+i)) return 1; if(*(str1+i) < *(str2+i)) return -1; if(*(str1+i) ==*(str2+i))

9、 return 0; } } 评析:这道题的比较方法是将字母一一进行对比,利用指针将字母一个个进行比较,需要注意的地方就是取*运算。 题目4: 定义一个学生结构体,取别名STU,包含学号、姓名、数学、语文、计算机、英语等 课程成绩,还有总分和平均分,写一个函数实现求一组学生每个学生各门课程的平均值,函数原型为float ave(STU stu[],int size)。测试之。 解: #include #include #define SIZE 2 typedef struct student { in

10、t num; char name[10]; float math; float english; float computer; float chinese; float total; float average; }STU; STU stu[SIZE]; float ave(STU stu[],int size); int main() { int i; printf("please input the studet's information:\n"); for(i=0;i

11、IZE;i++) {scanf("%d %s %f %f %f %f",&stu[i].num,stu[i].name, &stu[i].math,&stu[i].english,&stu[i].computer,&stu[i].chinese); } ave(stu,SIZE); for(i=0;i

12、average); } return 0; } float ave(STU stu[],int size) { int i; for(i=0;i

13、题目5 : 写一个函数能够从文件读入一组学生STU的信息,保存到一个结构体数组中。 解: #include #include #define SIZE 10 struct student_type { char name [10]; int num; int age; char addr[15]; }stud[SIZE]; void load(); int main () { load(); return 0; } void load() { int i; FILE*

14、fp; if((fp=fopen("stu.txt","r"))==NULL) { printf("cannot open file\n"); exit (0); } for(i=0;i

15、 stud[i].num,stud[i].age,stud[i].addr); } fclose (fp); } 评析:这是一个典型的从文件中输入信息保存在数组中在屏幕上打印出。需要注意的打开文件所需要的头文件以及数据输入输出的格式。 题目6 : 写一个函数能够输出某一学生结构体数组STU stu[10]的信息和每个人的总分、平均分到某一文本文件中,测试之。输出格式是: “%s %s %d %d %d %d %d %5.2f” 解: #include #include #define SIZ

16、E 10 struct student_type { char name [10]; char addr[15]; int grade; int num; int height; int age; int score; float ave; }stu[SIZE]; void output(); int main () { output(); return 0; } void output() { int i; FILE*fp; fp=fopen

17、"printf.txt","w"); for(i=0;i

18、name,stu[i].addr,stu[i].grade,stu[i].num, stu[i].height,stu[i].age,stu[i].score,stu[i].ave); } } 评析:注意文件的输入及输出格式即可。 题目7: 写一个函数能够打印输出学生结构体数组STU stu[10]的信息到屏幕上,测试之 解: #include #define SIZE 10 struct student { int num; char name[10]; float score;

19、 }stu[SIZE]; void print(struct student stu[],int size); int main () { int n; for(n=0;n

20、 printf("num:%d\nname:%s\nscore:%.2f\n\n",stu[i].num,stu[i].name,stu[i].score); } 评析:注意函数的调用和输入和输出的格式。 题目8 : 写一个函数能够把一组学生成绩信息按总分进行排序,测试之。 解: #include #define SIZE 2 struct student { int num; char name[10]; float score; }STU[SIZE]; void comp(struct student stu[]);

21、 int main() { int n; for(n=0;n

22、stu[]) { int i,j,k,m; for(i=0;iSTU[k].score) k=j; m=STU[k].score; STU[k].score=STU[i].score; STU[i].score=m; } } 评析:应用选择法对学生信息进行比较,注意结构体数组信息的格式。 题目9 : 写一个函数能够查找给定学号的

23、学生成绩信息,如果找到打印成绩信息,如果没有,显示“not found!”.测试之。 解: #include struct student { int num; char name[15]; int chinese; int math; int english; }; void searchscore(struct student stu[]); int main() { struct student stu[5]={{10110,"zhang",70,80,90},{10111,"lin",90,8

24、0,90}, {10086,"zhao",70,80,90},{10010,"zhang",70,70,70},{10120,"chen",80,80,90}}; searchscore(stu); return 0; } void searchscore(struct student stu[]) { int n,m,number=0; printf("enter the number you want:\n"); scanf("%d",&m); printf("The Result Is:\n"); fo

25、r(n=0;n<5;n++) { if(m==stu[n].num) { printf("num:%d\nname:%s\nchinese:%d\nmath:%d\nenglish:%d\n",stu[n].num,stu[n].name, stu[n].chinese,stu[n].math,stu[n].english); number=1; } } if(number==0) printf("n

26、ot found!\n"); } 评析;这是一个信息搜索程序,学生的信息可以是事先定义,也可以采用用户输入形式。 题目10 : 设计一个界面函数,包含上述11个题目的调用,即 请选择 1 调用第一个函数(具体的函数名) 2 调用第二个函数(具体的函数名) 3 ... ... 9 调用第9个函数(具体的函数名) 继续吗?输入y继续下一次选择,输入n结束 解: #include #include #include #define

27、 SIZE 10 int f(); void maxMinAver(); int mystrcmp(); float ave(); typedef struct student { int num; char name[10]; float math; float english; float computer; float chinese; float total; float average; }STU; STU stu[SIZE]; void load(); struct student_

28、type { char name [10]; int num; int age; char addr[15]; }stud[SIZE]; void output(); struct Student_type { char name [10]; char addr[15]; int grade; int num; int height; int age; int score; float ave; }Stu[SIZE]; void print(); struct sT

29、udent { int num; char name[10]; float score; }sTu[SIZE]; void comp(); struct studenT { int num; char name[10]; float score; }StU[SIZE]; void searchscore(); struct stuDent { int num; char name[15]; int chinese; int math; int english; };

30、 int sw(int m); void menu(); int main() { int num1,num2; char str; menu(); scanf("%d",&num1); sw(num1); getchar(); scanf("%c",&str); while (str=='N'||str=='n'&&str=='Y'||str=='y') { if(str=='y') {scanf("%d",&num2); sw(num2);}

31、 if(str=='n') break; getchar(); scanf("%c",&str); } return 0; } int sw(int m) { int x,n,i,max,min; char str1[100],str2[100]; float kave; int *data; struct stuDent stuD[5]={{10110,"zhang",70,80,90},{10111,"lin",90,80,90},

32、 {10086,"zhao",70,80,90},{10010,"zhang",70,70,70},{10120,"chen",80,80,90}}; switch(m) { case 1:scanf("%d",&x); printf("%d\n",f(x));break; case 2:scanf("%d",&n); data=(int*)malloc(n*sizeof(int)); for(i=0;i

33、data[i]); maxMinAver(data,&max,&min,&kave,n); printf("max:%d\nmin:%d\nave:%.1f\n",max,min,kave);break; case 3:scanf("%s %s",str1,str2); printf("%d\n",mystrcmp(str1,str2));break; case 4:for(i=0;i

34、um,stu[i].name, &stu[i].math,&stu[i].english,&stu[i].computer,&stu[i].chinese); ave(stu,SIZE); for(i=0;i

35、 case 6:output();break; case 7:for(n=0;n

36、er Is:\n"); comp(StU); for(n=0;n

37、\n"); printf("|| 请选择你所需要的函数 ||\n"); printf("||**********************************************||\n"); printf("|| 1.求分段函数的值f(x) ||\n"); printf("|| 2.求一组数据的最大值和最小值以及平均值 ||\n"); printf("|| 3.比较两个

38、字符串大小 ||\n"); printf("|| 4.求一组学生每个学生各门课程的平均值 ||\n"); printf("|| 5.从文件读入一组学生的信息 ||\n"); printf("|| 6.输出结构体数组的信息到文本文件中 ||\n"); printf("|| 7.打印输出学生结构体数组的信息到屏幕上 ||\n"); printf("|| 8.把一组学生成绩信息按总分进行排序 ||\n");

39、 printf("|| 9.查找给定学号的学生成绩信息 ||\n"); printf("||**********************************************||\n"); printf("||**********************************************||\n\n"); printf("请输入所调用函数序号:\n"); } int f(int n) { int s; if(n>0) s=3*n*n-4; if(n==0) s=2;

40、 if(n<0) s=0; return s; } void maxMinAver(int *data,int *max, int *min,float * ave,int size) { int i,sum=0; *max=data[0]; *min=data[0]; for(i=0;i=data[i]) *min=data[i]; s

41、um+=data[i]; } *ave=(float)sum/size; } int mystrcmp(const char *str1, const char *str2) { int i; for(i=0;*(str1+i) != '\0' && *(str2+i) !='\0';i++) { if(*(str1+i) > *(str2+i)) return 1; if(*(str1+i) < *(str2+i)) return -1;

42、 if(*(str1+i) ==*(str2+i)) return 0; } } float ave(STU stu[],int size) { int i; for(i=0;i

43、 int i; FILE*fp; if((fp=fopen("stu.txt","r"))==NULL) { printf("cannot open file\n"); exit (0); } for(i=0;i

44、tud[i].name, stud[i].num,stud[i].age,stud[i].addr); } fclose (fp); } void output() { int i; FILE*fp; fp=fopen("PRINT.txt","w"); for(i=0;i

45、num, &Stu[i].height,&Stu[i].age,&Stu[i].score,&Stu[i].ave); //fprintf(fp,"name addr grade num height age score ave\n"); fprintf(fp,"%s %s %d %d %d %d %d %5.2f\n", Stu[i].name,Stu[i].addr,Stu[i].grade,Stu[i].num, Stu[i].height,S

46、tu[i].age,Stu[i].score,Stu[i].ave); } } void print(struct sTudent sTu[],int size) { int i; for(i=0;i

47、 {k=i; for(j=i+1;jStU[k].score) k=j; m=StU[k].score; StU[k].score=StU[i].score; StU[i].score=m; } } void searchscore(struct stuDent stu[]) { int n,m,number=0; printf("enter the number you want:\n");

48、 scanf("%d",&m); printf("The Result Is:\n"); for(n=0;n<5;n++) { if(m==stu[n].num) { printf("num:%d\nname:%s\nchinese:%d\nmath:%d\nenglish:%d\n",stu[n].num,stu[n].name, stu[n].chinese,stu[n].math,stu[n].english); numbe

49、r=1; } } if(number==0) printf("not found!\n"); } 评析:这是一个大型数据系统,将以上9个函数集结成一个大型数据,制作了精美的封面,主要用途与前9个题目相似,需要注意变量名与结构体数组名不能重复定义,系统结构要清晰。 题目11: 创建一个工程文件,包含三个文件,第一个是主函数所在的源文件,含有显示界面,选择1-10,调用不同的函数,第二个是各个函数所在的源文件,第三个是各个函数原型所在的头文件。 解: 1. arrangemain.c #include

50、include #include #define SIZE 10 #include"arrange.h" int main() { int num1,num2; char str; menu(); scanf("%d",&num1); sw(num1); getchar(); scanf("%c",&str); while (str=='N'||str=='n'&&str=='Y'||str=='y') { if(str=='y')

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服