函数程序设计(一)

原创 2012年03月21日 16:47:26

实验六  函数程序设计(一)

一.实验目的

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<iostream.h>

#include<stdio.h>

void main()

{

       intsum(int x);

       inty;

       y=sum(1);

       printf("共摘了:%d",y);

       cout<<endl;

}

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<iostream.h>

void main()

{

       floatcmp(float a,float b);

       floatx,y;

       cout<<"inputtwo floats :"<<endl;

       cin>>x>>y;

       if(cmp(x,y)==1)cout<<"y"<<endl;

       if(cmp(x,y)==0)cout<<"n"<<endl;

}

float cmp(float a,float b)

{

       floati;

       if(a/b>0)i=1;

       elsei=0;

       return(i);

}

 

练习4

#include<iostream.h>

void main()

{

       intwax(int a[10],int n);

       inta[10],y,i;

       cout<<"input10 munbers:"<<endl;

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

              cin>>a[i];

       y=wax(a,10);

       cout<<"最小值:"<<a[y]<<endl;

       cout<<"下标:"<<y<<endl;

}

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<iostream.h>

void main()

{

       intdigit(int n,int k);

       intx,m,y;

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

       cin>>x>>m;

       y=digit(x,m);

       cout<<"digit("<<x<<","<<m<<")="<<y<<endl;

}

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<iostream.h>

#include<stdio.h>

void main()

{

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

       chars[20],x;

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

       gets(s);

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

       cin>>x;

       cout<<endl<<"首次出现位置:"<<at(s,x)<<endl;

}

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

}

 

 

 

 

Visual Basic 2005程序设计实例教程(奋斗的小鸟)_PDF 电子书

Visual Basic 2005程序设计实例教程(奋斗的小鸟)
  • tjoy2005
  • tjoy2005
  • 2013年10月11日 13:02
  • 1105

函数模板实现冒泡排序

坚持
  • weichanjuan3
  • weichanjuan3
  • 2015年06月17日 14:02
  • 1507

程序设计(C语言)(常用函数说明)

  程序设计(C语言)(常用函数说明)                                                                                 ...
  • m57091003
  • m57091003
  • 2007年10月14日 20:38
  • 19906

日语"一挖一麻袋"是什么意思??

这是中国人学日本强调说话,这是一个笑话:两个人的对话,完整的是这样的 “土豆那里去挖?” “土豆郊区去挖.” “一挖一麻袋?” “一挖一麻袋.” 你自己好好念念,是不是很逗呀~~~ 我同学在上日语课上...
  • lord_is_layuping
  • lord_is_layuping
  • 2008年02月03日 11:05
  • 20805

图论算法---- 一笔画问题(欧拉路)

一、题目描述 题目描述 对给定的一个无向图,判断能否一笔画出。若能,输出一笔画的先后顺序,否则输出“No Solution!” 所谓一笔画出,即每条边仅走一次,每个顶点可以多次经过。 输出字典...
  • C20180602_csq
  • C20180602_csq
  • 2016年10月10日 12:58
  • 2507

一笔画问题 连通图(搜索+队列)

一笔画问题 时间限制:3000 ms  |  内存限制:65535 KB 难度:4 描述 zyc从小就比较喜欢玩一些小游戏,其中就包括画一笔画,他想请你帮他写一个程序,...
  • judyge
  • judyge
  • 2015年04月13日 10:31
  • 481

1​0​0​句​j​a​v​a​s​c​r​i​p​t​一​句​话​代​码​(​简​短​常​用​代​码​集​合​,​j​s​开​发​必​备​的​小​程​序​集​)

1​0​0​句​j​a​v​a​s​c​r​i​p​t​一​句​话​代​码​(​简​短​常​用​代​码​集​合​,​j​s​开​发​必​备​的​小​程​序​集​),转于百度文库:http://wenk...
  • qq348843576
  • qq348843576
  • 2015年05月20日 11:21
  • 1742

js实现列表换一换(如招聘网站职位的换一换)

后端数据 后端传递一个职位的数组,假定数组长度100   前端处理 循环这个数组 普通循环 列表长度100   添加js $('tr').slice(0, 5).show() //默认...
  • motian06
  • motian06
  • 2012年09月21日 14:20
  • 4138

【追一科技校招】AI浪潮已来,你不可错过的澎湃风口!

作为专注深度服务企业的人工智能新锐,追一科技正在将 AI 从象牙塔和实验室,带向更宽广的工业和产业界,在一个个场景化应用中落地生花。我们以自然语言处理的深度积累,结合最前沿深度学习、认知计算等技术,赋...
  • c9Yv2cf9I06K2A9E
  • c9Yv2cf9I06K2A9E
  • 2017年10月19日 00:00
  • 221

一诺仪器面试的心得体会

前几天无疑去了这家公司的招聘会,顺便把自己的简历也砸上了一份,然后通知大家今天上午9点去面试。         我早早地便起来了,打印好自己的成绩单,屁颠屁颠地赶到公司去参加面试,我到的时候时间已经不...
  • cfsht
  • cfsht
  • 2016年11月09日 23:05
  • 2943
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:函数程序设计(一)
举报原因:
原因补充:

(最多只允许输入30个字)