课内实验报告c_c语言课内实验报告

2020-02-27 其他范文 下载本文

课内实验报告c由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“c语言课内实验报告”。

一.实验目的及实验环境

实验目的1、掌握函数定义的一般形式

2、掌握函数的参数和函数的返回值

3、掌握函数调用的一般方式和调用过程

4、掌握函数的嵌套调用和递归调用

5、分析对比不同的实现 实验环境

Windows xp + VC ++ 6.0 二.实验内容

课本P147页7.15;课本P160页7.23,7.24 三.方案设计

7.15 用函数的递归调用实现,每次递归调用,可以使盘片数减1,当递归调用到盘片数为1时结束递归。

7.23 通过循环结构和插入排序法实现,输入时使10个字符形成字符串,最后将已排序的10个字符输出。

7.24 由用户输入一个数,并选择转换为几进制数最后输出;若输入有误则系统提示出错。若输入十进制数,除N取余直到商为0,将除得的结果逆序输出;若输入非十进制数,按权 展开得到十进制数。

四.测试数据及运行结果

1.正常测试数据及运行结果; 7.15

7.23

7.24

2.非正常测试数据及运行结果。7.15

7.23

五.总结

1.实验过程中遇到的问题及解决办法; 形参与实参在对应顺序上出现差错,在进制转换输入第一个数时,下标未从1开始。

解决办法:函数的实参和形参应在个数,类型和顺序上一一对应。2.对设计及调试过程的心得体会;

编写C语言程序应该简洁,程序层次应该清晰。在调试程序的过程中,每改一处错误,编译一次。在不断调试程序和改错的过程中,可以对程序代码做进一步的简化。

六.附录:源代码(电子版)

7.15 void hanoi(int n,char x,char y,char z){ if(n==1)printf(“%c->%cn”,x,z);else { hanoi(n-1,x,z,y);printf(“%c->%cn”,x,z);

hanoi(n-1,y,x,z);} } main(){ int m;printf(“Input the number of disks:”);scanf(“%d”,&m);printf(“The steps to moving %3d disks:n”,m);hanoi(m,'A','B','C');} 7.23 #include insert(char s[]){ int i,j,t;for(i=1;i=0)&&(t

scanf(“%d”,&n);do { i++;arr[i]=sum%n;/*从下标1开始计数*/ sum=sum/n;if(i>=80)printf(“overflown”);} while(sum!=0);printf(“The result is :t”);for(j=i;j>0;j--)/*逆序输出该数*/ printf(“%d”,arr[j]);printf(“n”);} oth_to_ten()/*其他进制转换为十进制*/ { int base,i,num,arr[80];long sum=0;char ch;printf(“Please input the base you want to change:”);/*想将几进制数转换成十进制数,请输入*/ scanf(“%d”,&base);printf(“Please input number:”);/*请输入该数*/ scanf(“%d”,&num);for(i=1;num!=0;i++){arr[i]=num%10;/*从下标1开始计数*/ num=num/10;} sum=change(arr,i-1,base);printf(“The result is :%ldn”,sum);} main(){ int flag=1;while(flag!=0){printf(“n1:ten_to_othn”);printf(“2:oth_to_tenn”);printf(“0:exitn”);printf(“nEnter a number:”);scanf(“%d”,&flag);switch(flag){case 1:ten_to_oth();break;/*其他进制转换为十进制*/ case 2:oth_to_ten();break;/*十进制转换为其他进制*/ case 0:exit();} } }

《课内实验报告c.docx》
将本文的Word文档下载,方便收藏和打印
推荐度:
课内实验报告c
点击下载文档
相关专题 c语言课内实验报告 实验报告 课内 c语言课内实验报告 实验报告 课内
[其他范文]相关推荐
    [其他范文]热门文章
      下载全文