- 1、本文档共16页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
6.1
/*********************************************
题目:已知A[n]为整数数组,编写一个递归算法求n 个元素的平均值
设计:狼影
时间;2012.10.1
*****************************************************/
# include stdio.h
# define size 100
float sum = 0;
// 函数声明
float cal_average(int *a,int i,int n);
main()
{
int n;
int i;
float average;
int a[size];
//输入数据的个数
printf(输入数据的个数\n);
scanf(%d, n);
//输入n 个数据
printf(输入数据\n);
for(i = 0; in; i++)
scanf(%d, a[i]);
//求平均数
average = cal_average(a,0,n);
printf(平均数数%f\n, average);
}
//递归求平均数
float cal_average(int *a,int i,int n)
{
if(i=n)
return (sum/n);
else
{
sum += a[i];
return (cal_average(a, i+1, n));
1
}
}
/***************************************
输入数据的个数
5
输入数据
1 2 3 4 5
平均数数3.000000
Press any key to continue
**********************************************/
6.2
/*******************************
题目;有一个不带表头结点的单链表,设计如下的递归算法:(下面的代码实现的顺序为了方
便可能与问题的顺序不一致)
1.求以h 为头指针的单链表的节点的个数
2.正向显示以h 为头指针的单链表的所有节点值
3.反向显示以h 为头指针的单链表的所有节点值
4.删除以h 为头指针的单链表中值为x 的第一个节点
5.删除以h 为头指针的单链表中值为x 的所有节点
6.输出以h 为头指针的单链表中最大节点值
7.输出以h 为头指针的单链表中最小节点值
设计;狼影
时间:2012.10.1
************************************************/
# include stdio.h
# include stdlib.h
//节点类型按课本上的来写
typedef int ElemType;
typedef struct node
{
ElemType data;
struct node *next;
}NODE;
int number = 0;
// 函数声明
NODE *creat_list(void);
void front_output(NODE *pHead);
2
void back_output(NODE *pHead);
int node_number(NODE *pHead);
int cal_max(NODE *pHead);
int cal_min(NODE *pHead);
NODE *delete_x(NODE *pHead, int x);
NODE *delete_all_x(NODE *pHead, int x);
main()
{
NODE *pHead;
int max, min;
int number, x;
int sert;
//首先先创建一个链表
printf(输入数据按0 结束\n);
pHe
文档评论(0)