猴子吃桃问题c语言链表,数据结构课程设计--猴子吃桃子问题.doc
Data organization curriculm project
数据结构课程设计
设计题目: 猴子吃桃子问题
专业班级: 通信工程0804班
学生学号: 0909082421
学生姓名: 王 璐
指导老师: 彭 春 华
完成时间: 2010-06-06
目 录
问题描述……………………………………………….1页
基本要求………………………………………………..1页
程序设计思想………………………………………1---2页
软件模块结构图………………………………………..2页
程序流程图……………………………………………..3页
源程序………………………………………………4---7页
调试分析……………………………………………8---9页
测试数据…………………………………………..9---10页
心得体会…………………………………………11---12页
一.问题描述
这是一个很经典的简易的程序设计题,具体题目为:
有一群猴子摘了一堆桃子,他们每天都吃当前桃子的一半且再多吃一个,到了第10天就只余下一个桃子。用多种方法实现求出原来这群猴子共摘了多少个桃子。?二.基本要求
1)采用数组数据结构实现上述求解
2)采用链数据结构实现上述求解
3)采用递归实现上述求解
五.程序流程图
六.源程序
#include
#include
#define NULL 0
typedef int datatype;
typedef struct link
{
datatype tao;
struct link *next;
}node;
void shuzu()
{
int day[11],i;
day[10]=1;
for(i=10;i>0;i--)
{
day[i-1]=2*(day[i]+1);
printf("%d\t",i);
printf("%d\n",day[i]);
}
printf("the total :%d\n",day[0]);
}
int digui(int n)
{
int m;
if(n==9)
m=1;
else
m=2*(digui(n+1)+1);
printf("%d\t",n+1);
printf("%d\n",m);
return(m);
}
node *init_link(node *head)
{
head=NULL;
return(head);
}
node m;
void toutao(node *head)
{
int i=10;
node *p,*q;
p=head;
m.tao=1;
p=&m;
while(i>0)
{
q=p;
q->tao=p->tao;
p->next=(node*)malloc(sizeof(node));
p=p->next;
p->tao=2*(q->tao+1);
printf("%d\t",i);
printf("%d\n",q->tao);
i--;
}
printf("the total : %d\n",p->tao);
void main()
}
{
int a,m,j;
node *head;
head=NULL;
printf("please choose one method : 1: shuzu 2: digui 3: lianbiao\n");
for(j=0;j<3;j++)
{
scanf("%d",&m);
switch(m)
{
case 1:printf("the result of using shuzu:\n");
shuzu();break;
case 2:printf("the result of using digui:\n");
a=digui(0);
printf("the total : %d\n",2*(a+1));
break;
case 3: printf("the result of using lianbiao:\n");
node *init_link(node *head);
toutao(head);
break;
}
}
}
七.调试分析
分块测试
1. 用数组实现
没有出错,可以得到正确结果。
2.用递归实现
运行出错:原因在于输入变量时忘了加&;if判断语句中用的应该是==却用成了赋值语句。改正后得到正确结果。
3.用链表实现
运行出错,出错原因在于:第一个大括号后面忘了加“;”;没有在main()主函数中声明函数的话,其定义就必
猴子吃桃问题c语言链表,数据结构课程设计--猴子吃桃子问题.doc相关推荐
- 跳棋的C语言,跳棋游戏C语言程序设计(数据结构课程设计).doc
跳棋游戏C语言程序设计(数据结构课程设计).doc 跳棋程序设计李雄志学号2012214157数学与应用数学12-1班1. 问题描述:2. 程序分析:3. 程序算法:4. 思考感悟.一,问题描述题目要 ...
- 魔王语言解释(数据结构课程设计)
魔王语言解释(数据结构课程设计) 1.魔王语言解释 问题描述:魔王的语言精练而抽向,将他的语言按如下规则可转换成人的语言:(1) B转换为tAdA:(2) A转换为sae:(3) (qd1d2--dn ...
- c语言猴子吃桃问题数组数据结构,数据结构课程设计--猴子吃桃问题
摘要 当下C++语言是一门重要的课程学习,学会运用并结合其他的知识一起解题是一件值得我们重视的,数据结构是一门结合C++知识的重要课程,因此我们要学会将平时课本的知识运用到我们现实生活当中,这样才能让 ...
- 猴子吃桃问题c语言两种实现形式:传统方式和通过递归函数的形式实现,简单易懂
#include<stdio.h>//标准的输入输出流 #include<stdlib.h>//system("pause")要用 int func1(in ...
- 猴子吃桃问题——C语言
1 概述 猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个, 第二天早上又将剩下的桃子吃掉一半,又多吃了一个.以后每天早上都吃前一天剩下的一半零一个. 到第10天早上想再吃 ...
- 猴子吃桃问题 C语言用递归实现
问题:有一只猴子第一天摘下了若干个桃子,当即吃掉了一半,觉得不过瘾又多吃了一个: 第二天又将剩下的桃子吃掉了一半,还不过瘾又多吃了一个:按照这个吃法,每天都吃掉前一天剩下的一半又多一个. 到了第十天, ...
- c语言数据结构课程设计电梯,数据结构课程设计报告(模拟电梯).doc
数据结构课程设计报告(模拟电梯) 山东理工大学计算机学院 课 程 设 计 (数据结构) 班 级姓 名学 号 指导教师 二〇一二年一月十日 课程设计任务书及成绩评定 课题名称电 梯 模 拟 Ⅰ.题目的目 ...
- c语言超市选址问题实验报告,数据结构课程设计-超市选址问题.doc
数据结构 课程设计报告 设计题目:学校超市选址问题 专 业 计算机科学与技术 班 级 10计本2班 学 生 朱冬 学 号 联系方式 年 学期 问题描述 对于某一学校超市,其他各单位到其的距离不同,同时 ...
- c语言链表p-%3enext,课程设计报告.c语言程序设计.pdf
课程设计报告.c语言程序设计 学生成绩管理 C语言课程设计报告 学 院 _信息学院_ 专 业 软件工程 班 级 _ _ 学 号 姓 名 课 题 _C语言课程设计_ 指导教师 __ 杨老师 _ 报告成绩 ...
最新文章
- 《预训练周刊》第11期:全球最大智能模型“悟道2.0”重磅发布、谷歌KELM:将知识图与语言模型预训练语料库集成...
- 长得类似铁甲小宝的机器人_铁甲小宝:小时候只顾看机器人忽略重点,长大后再看:是我太天真...
- python如何注释掉一段代码_爬取出来的网页代码都被注释掉怎么解决?
- sql长整型_SQL性能优化,太太太太太太太有用了!
- Centos 7 查看内存占用情况相关命令
- 转行AI成功的秘诀只有一个,那就是……
- java web编写计算器_javaWeb 使用 jsp 和 javaBean 实现计算器功能
- 有问有答 | 算法和数据结构精华问答
- c++中int向量初始化_以不同的方式在C ++中初始化2D向量
- body属性文本标记和排版标记
- 提示“百度未授权使用地图API,可能是因为您提供的密钥不是有效的百度LBS开放平台密钥”解决方案
- 百度网盘加速教程(绝对有效)
- 从App直接打开小程序
- Node.js 网页瘸腿爬虫初体验
- 去掉右键烦人的多余菜单项
- STM32F103C8T6引脚图
- 我的权限控制(JBX + struts + hibernate + ORACLE)
- 什么是robots.txt文件
- 基于Django框架的视频播放器设计
- 金融信贷存量客户运营管理
热门文章
- H5活动营销系统怎么做?H5活动营销系统有哪些优势?
- jquery验证前端页面
- 【最大公约数 GCD】 --- 常用四大算法(辗转相除法,穷举法,更相减损法,Stein算法)
- [代码审计]齐博建站系统x1.0企业版代码审计
- 客户案例 | 低代码上的西门子,个性化业务应用遍地开花
- AIoT深入智慧城市 应用场景遍地开花
- Unity优化-C#优化细节
- 相似图片搜索的原理(二)
- 扩大进军智能城市,Verizon 购并LED物联网新创事业Sensity Systems
- 2019六月广东省计算机二级报名,广东2019年全国计算机二级考试报名入口