c语言程序实验四,《C语言程序设计》实验四.doc

253b171540df25e1b84436cbe50dfc72.gif《C语言程序设计》实验四.doc

电子科技大学 计算机 学院标 准 实 验 报 告(实验)课程名称 C语言程序设计 电子科技大学教务处制表电 子 科 技 大 学实 验 报 告 四学生姓名 学 号 指导教师刘 勇实验地点 计算机学院软件306室 实验日期 年 月 日一、实验室名称 软件实验室 二、实验项目名称函数的应用及预处理三、实验学时2四、实验原理使用Turbo C软件(简称TC),在微型计算机上,对其程序进行编辑、编译、连接与运行。Turbo C是一个集成环境,它具有方便、直观、易用的界面和丰富的库函数。通过上机练习掌握在TC环境下编辑、编译、连接、和运行C程序的方法和过程。五、实验目的1掌握C语言中定义函数的方法;2掌握函数传值调用的方法;3掌握函数传址调用的方法;4掌握递归函数的设计方法;5掌握命令行参数的使用方法;6掌握函数在不同文件中的编译、链接方法。六、实验内容 编程实验,完成以下上机内容,调试运行程序并完成报告1、教材第七章习题7.4;2、编写一个实现冒泡法排序的函数,并在主函数中从键盘上输入6个数后进行排序输出;3、教材第七章习题7.11;4、教材第七章习题7.15;5、教材第七章习题7.24;6、求解汉渃塔(tower of Hanoi)问题。在一块平板上立有3根立柱,从左到右分别标记为A,B,C。最初在A柱上放有6个大小不等的圆盘,并且大盘在下面,小盘在上面。要求将这些盘从A移到C可以借助B柱。条件是每次只能移动一个盘,并且不允许把大盘放在小盘的上面。(提示利用函数的递归调用);七、实验器材(设备、元器件)pc硬件要求CPU PII 以上,64M 内存,1OOM 硬盘空间即可。 软件要求DOS3.0以上/Windows98/Me/XP/NT/2000。八、实验步骤实验编程与运行结果 编写一个求两个整数的最小公倍数的函数,两个整数由键盘输入,用主函数调用这个函数,并输出结果。程序文件名为7_4.c,源程序清单如下includestdio.hlcdint a,int b int temp,num1,num2; num1a; num2b; whilenum20 tempnum1num2; num1num2; num2temp; returna*b/num1;main int t,x,y; printfPlease two integers; scanfd,d, ifxytx;xy;yt; printflcdd,ddn,x,y,lcdx,y;运行结果 编写一个实现冒泡法排序的函数,并在主函数中从键盘上输入6个数后进行排序输出。程序文件名为testf3.c,源程序清单如下main int i,j,a7; int temp; clrscr; fori1;i7;i printfn ad,i; scanfd, fori1;i6;i forj1;j7;j ifajaj1 tempaj;ajaj1;aj1temp; fori1;i7;i printfn5d,ai; _运行结果 编写一个通过函数调用把输入的小写字符串变为大写字符串的程序。程序文件名为7_11.c,源程序清单如下includestdio.hlowch_to_upchchar *str while*str0 if*stra*strz *str-0 x20; str; main char *str; printfPlease a string ; getsstr; lowch_to_upchstr; putsstr;_运行结果 编写一个求三个整数中最小值整数的函数,主程序要求三个整数由命令行参数输入,调用该函数并输出结果。程序文件名为7_15.c,源程序清单如下includestdio.hincludeprocess.hincludestdlib.hint search_minint a,int b,int c ifab ifac return a; else return c; else ifbc return b; else return c; mainint argc,char *argv int a,b,c; ifargc4 printfNeeds argumentsn; printfCommand line example xt7-15 3 2 1n; exit0; aatoiargv1; batoiargv2; catoiargv3; printfmind,d,ddn,a,b,c,search_mina,b,c;_运行结果 编写一个程序,先定义一个将字符大写、小写和数字进行分类的带参数宏,然后对从键盘输入的一系列字符进行分类计数,并输出计数的结果,程序遇到字符*结束。程序文件名为7_24.c,源程序清单如下includestdio.hdefine INUPc cAcZdefine INLOc caczdefine INNUc c0c9define ADDa adefine DVc,x,y,z ifINUPc ADDx;ifINLOc ADDy;ifINNUc ADDz;main int count_low0,count_up0,count_num0; char ch; printf a stringend sign is * n; chgetchar; whilech* DVch,count_up,count_low,count_num; chgetchar; printfcount_lowdn,count_low; printfcount_updn,count_up; printfcount_numdn,count_num;_运行结果 求解汉渃塔(tower of Hanoi)问题。在一块平板上立有3根立柱,从左到右分别标记为A,B,C。最初在A柱上放有6个大小不等的圆盘,并且大盘在下面,小盘在上面。要求将这些盘从A移到C可以借助B柱。条件是每次只能移动一个盘,并且不允许把大盘放在小盘的上面。(提示利用函数的递归调用)程序文件名为testf4.c,源程序清单如下void movechar x,char y printfcc ,x,y;void hanoiint n,char one,char two,char three ifn1 moveone,three; else hanoin-1,one,three,two; moveone,three; hanoin-1,two,one,three; main int m; printf the number of diskes ; scanfd, printfThe step to moving 3d diskes n,m; hanoim,A,B,C;_运行结果九、总结及心得体会十、对本实验过程及方法、手段的改进建议 报告评分 指导教师签字

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值