- 1、本文档共4页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
c语言学习实验9-01-张三
上 机 报 告
课程名称 计算机程序设计基础(C语言)
专业班级
姓 名
学 号
上机题目 递归函数和数组作为参数
程序设计 实 验 室 机房 同组人数 1 实验时间 年 月 日 成 绩 指导教师 一、实验目的
1、掌握函数的递归调用。
2、理解局部变量、全局变量及存储类别的概念。
3、了解数组名及数组元素作为函数参数的用法。
二、实验内容(均要求给出运行结果)
1、改错题
(1)以下程序用来求整数n的阶乘,请改正程序中的错误。
# include “stdio.h”
int fun(int n)
{ static int p=1;
p*=n;
return p;
}
void main ( )
{ int n, i, t=0;
scanf(“%d”, n);
for(i=0; i=n; i++)
t*=fun(i);
printf(“%d!=%d\n”, n, t);
}
程序清单:
运行结果:
(2)以下程序对输入的字符串判断是否是“回文”,请改正程序中的错误。
#include “stdio.h”
# include “string.h”
str (char a[ ])
{ int i, j;
for ( i=0, j=strlen(a)-1; ij; i++)
if ( a[i]==a[j]) return 0;
return 1;
}
void main ( )
{ int n;
char a[10];
scanf (“%s”, a);
n=str (a);
if(n==1)printf (“Yes\n”);
else printf(“No\n”);
}
程序清单:
运行结果:
2、填空题
(1)将输入的若干1至4范围内的整数存于数组中,用-1作为输入结束标志,函数count分别统计整数1至4的个数。请填空。
#include “stdio.h”
void count(int a[],int b[],int n);
void main ( )
{ int a[20], b[5]={0},i,n=0,x;
printf(“输入1至4间整数(-1结束):”);
scanf(“%d”,x);
while(___________)
{ if(x=1x=4)
a[________]=x;
scanf(“%d”,x);
}
count(a,b,n);
for (i=1; i=4;i++)
printf(“%d:%d\n”, i,b[i]);
}
void count( int a[], int b[], int n )
{ int i;
for (i=0; in; i++)
b[___________]++;
}
程序清单:
运行结果:
(2)以下程序的功能是用递归方法计算学生的年龄,已知第一位学生年龄最小,为10岁,其余学生一个比一个大2岁,求第5位学生的年龄。请填空。
#include “stdio.h”
age (int n)
{ int c;
if (n==1) c=___________;
else c=____________;
return c;
}
void main ( )
{ int n=5;
printf (“age:%d\n”, _______________);
}
程序清单:
运行结果:
3、编程题
(1)用递归方法编写程序,实现将十进制整数转换成二进制输出。
程序清单:
运行结果:
(2)被调函数的功能是从3个红球、5个白球、6个黄球中任意取出8个球,且其中必须要有红球和白球,求所有方案的总数。请完成被调函数的设计。
#include “stdio.h”
int fun(int r, int w, int y)
{……}
void main()
{ int sum, r=3, w=5, y=6?;
sum=fun(r, w, y)?;
printf(“The sum=%d\n”, sum);
}
程序清单:
运行结果:
文档评论(0)