- 15
- 0
- 约1.33千字
- 约 3页
- 2017-05-12 发布于河南
- 举报
实验5 函数程序设计
实验名称: 实验五 函数程序设计 日期: 任课教师: 专业: 计算机科学与技术 学号: 姓名: 【实验目的】
掌握函数的定义与调用
掌握函数参数的传递方式
领会函数的递归调用 【实验内容】
1、用递归法重做6.10题。
解题思路:
知道了第九天吃剩下的桃子数total(9)=1,而根据题意知计算前一天吃剩下的桃子数公式是(total(day+1)+1)*2.根据递推法计算前一天的桃子数,直到计算出total(0),即刚摘桃子没吃时的数量,输出即可
流程图:
int total(int day) int day
day =
T
9
F
total =1
total=(total(day+1)+1)*2
桃子总数=total(0)
输出桃子总数
源程序:
#include stdio.h
void main()
{
int total(int day);
int day=0;
int c;
c=total(day);
printf(桃子的总数是:%d\n,c);
}
int total(int day)
{
int t;
if(day==9)
t=1;
else
t=(total(day+1)+1)*2;
return(t);
}
运行结果:
学习心得(可选):
2、编写一函数完成十进制整数到二进制数的转换,函数的原型为:
void itob(int n,char s[])
并测试你编写的函数。
解题思路:
输入一个数字利用void itob(int n,char s[])函数进行十进制数转换成二进制数的运算。再对函数调用,然后输出结果。
流程图:
输入一个数
T N=0 F
0
T N0 F
error
N对2取余n=n/2
输出结果
源程序:
#includestdio.h
void main()
{
void itob(int a,char str[3000]);
int n;
char str[3000];
printf(please input a number:);
scanf(%d,n);
itob(n,str);
getch();
}
void itob(int n,char str[])
{
int i,b;
if(n==0)
printf(%d,n);
else
{
if(n0)
printf(error);
for( i=0;n0;i++)
{ if(n%2)
str[i]=49;
else
str[i]=48;
n=n/2.0;}
}
for(i-=1;i=0;i--)
printf(%c,str[i]);
}
运行结果:
学习心得(可选):
韩山师范学院 C语言程序设计
第 1 页 共 3 页
原创力文档

文档评论(0)