Chinaunix首页 | 论坛 | 博客
  • 博客访问: 111524
  • 博文数量: 106
  • 博客积分: 2025
  • 博客等级: 大尉
  • 技术积分: 1165
  • 用 户 组: 普通用户
  • 注册时间: 2012-03-06 12:51
文章分类

全部博文(106)

文章存档

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);

cout<<"最小值:"<

cout<<"下标:"<

}

int wax(int a[10],int n)

{

intmax=a[0],z,i;

for(i=1;i<10;i++)

if(max>a[i])z=i;

return(z);

}

练习5

#include

void main()

{

intdigit(int n,int k);

intx,m,y;

cout<<"请出入x和m的值:"<

cin>>x>>m;

y=digit(x,m);

cout<<"digit("<

}

int digit(int n,int k)

{

intz,w,i;

for(i=1;i<=k;i++)

{

w=n%10;

n=n/10;

}

z=w;

return(z);

}

练习6

#include

#include

void main()

{

intat(char s[20],char c);

chars[20],x;

cout<<"输入字符串:"<

gets(s);

cout<<"输入查询字符:";

cin>>x;

cout<

}

int at(char s[20],char c)

{

intj,z;

for(j=0;s[j]!='\0';j++)

if(s[j]==c)

{

z=j;

break;

}

if(s[j]=='\0')z=0;

return(z);

}

阅读(862) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~