2012年(106)
分类: C/C++
2012-05-07 18:36:05
实验六 函数程序设计(一)
一.实验目的
1. 掌握程序中函数的基本操作方法;
2. 掌握函数的程序设计。
二.实验环境
1. 硬件:PII以上计算机;
2. 软件:Windows、Visual C++ 6.0;
3. 其它:一张软盘或者U盘等可移动的存储设备。
三.实验内容
练习1.用递归方法解决猴子吃桃子的问题(P129习题6.10)。
运行结果:1534
练习2.编写一个程序,其中包含一个子函数,功能为计算: 。
子函数要求:
形式为:long c(int x);
功能为:求x!
运行结果示例:
练习3.编写一个程序,其中包含一个子函数,功能为判断两个数的符号是否相同。若相同则输出字母Y,否则输出字母N。
子函数要求:
形式为:char f(float a,floatb);
运行结果示例:
练习4.编写一个程序,其中包含一个子函数,功能为找出一维数组元素(设共10个)中的最小值及其下标。
子函数要求:
形式为:int min(int a[ ],int n);
(其中:n为数组元素的个数,子函数返回值为最小元素的下标值)
运行结果示例:
练习5.编写一个程序,其中包含一个子函数,功能为取出数x从右边起的第m位数字,如digit(1234,3)=2,digit(1234,6)=0。
子函数要求:
形式为:int digit(int n,int k);
运行结果示例:
练习6.编写一个程序,其中包含一个子函数,功能为在字符串中查找某个字符首次出现的位置,若字符串中没有该字符,则给出0。
子函数要求:
形式为:int at(char s[ ],charc);
运行结果示例:
练习1
#include
#include
void main()
{
intsum(int x);
inty;
y=sum(1);
printf("共摘了:%d",y);
cout< } int sum(int x) { intz; if(x<10)z=(sum(x+1)+1)*2; if(x==10)z=1; return(z); } 练习二: #include"stdio.h" void main() { longc(int x); intm,n, long x,y,z; printf("Inputthe m and n:"); scanf("%d%d",&m,&n); x=c(m); y=c(n); z=c(m-n); printf("Theresult is: %d\n",x/(y*z)); } long c(int x) { longa; if(x<0) printf("x<0,dataerror!"); else if(x==0||x==1) a=1; else a=c(x-1)*x; return(a); } 练习3 #include void main() { floatcmp(float a,float b); floatx,y; cout<<"inputtwo floats :"< cin>>x>>y; if(cmp(x,y)==1)cout<<"y"< if(cmp(x,y)==0)cout<<"n"< } float cmp(float a,float b) { floati; if(a/b>0)i=1; elsei=0; return(i); } 练习4 #include void main() { intwax(int a[10],int n); inta[10],y,i; cout<<"input10 munbers:"< for(i=0;i<10;i++) cin>>a[i]; y=wax(a,10);