C++蜗牛爬树问题,求高手来(我是伸手党)

C++蜗牛爬树问题,求高手来(我是伸手党),第1张

/* 用一个有h个结点的双向链表来表示标尺,每一米是一个结点,最后一个结点表示树顶

用一个go_up函数表示向上爬,用go_down函数表示向下滑,直至到达树顶结点 */

#include <stdio.h>

#include <alloc.h>

/* 定义双向链表 */

typedef node linknode

typedef struct node {

int position

int counter

linknode *prev

linknode *next

} link

/* 定义头、尾、当前指针 */

link *head, *rear, *now

/* 保存m和n值 */

int m, n

/* 爬的函数 */

void go_up()

{

int i

link *p

p = now /* 从当前位置开始爬 */

i = 0

while ( i <n &&p != rear ) { /* 爬n米或者爬到最顶 */

p = p->next/* 向上爬1米 */

p->counter++/* 本结点计数加一 */

printf("%d,", p->position)/* 输出途经本结卖闹点的过程 */

}

now = p/* 当前位置改变了 */

}

/* 向下滑 */

void go_down()

{

int i

link *p

p = now/* 当前位置开始下滑 */

i = 0

while( i <m ) { /* 下滑m米 */

p=p->prev/* 向下滑1米 */

p->counter++/* 计数加1 */

printf("%d,", p->position)/* 输出途经结点 */

}

now = p/* 爬完后当前位置改变 */

}

void main()

{

int i, h

link *p, *q

/* 输入参数 */

printf("Input h:")

scanf("%d", &h)

printf("Input m:"

scanf("%d", &m)

printf("Input n:"中团罩

scanf("%d", &n)

/* 检查参数合法性 */

if( h <n || n <m || h <= 0 || n <= 0 || m <=0 ){

printf("Error args!")

exit(-1)

}

/* 初始化链表 */

head = malloc(sizeof(link))/* 头指针 */

/* 各个结点或闹,h米高应该有h+1个结点 */

q = head/* 保存上一个结点,用于构造双向链表 */

for( i = 0i <h+1i++ ) {

p = malloc(sizeof(link))

p->position = i/* 标尺 */

p->counter = 0/* 初始计数为零 */

q->next = p /* 前驱和后继 */

if( q == head ) p->prev = NULL

else p->prev = q

p->next = NULL

q = p

}

rear = q/* 尾指针 */

/* 爬树过程 */

now = head->next/* 从第一个结点开始爬 */

printf(" Starting from %d:", now->position)

while( now != rear ) { /* 直到爬到树顶 */

go_up()/* 爬上n米 */

if( now != rear ) go_down()/* 如果没到顶,爬下m米 */

}

/* 输出经过次数 */

p = head->next

while( p != rear ) {

printf("Position: %d, counter: %d\n", p->position, p->counter)

p = p->next

free( p->prev )/* 删除已经输出的结点释放内存 */

}

free(head)

free(rear)

}

白天爬3米,晚上源闹掉下亏源2米,实际一天只爬了1米。具体代码如下:

public class Demo4 {

public static void main(String[] args) {

int distance = 0 // 所爬的路程

int days = 0 // 所用天数

while (distance < 30) {

distance += 3 // 白天爬3米

distance -= 2 // 雹空罩晚上滑下2米

days++

}

System.out.println("爬出井用了" + days + "天")

}

}

(98-10)/(10-7.8)+1

因为就是最后一天爬上去后就氏老不会掉下来了,你的式子的意思是它一直子上去掉下来,你画个图就知道了,他最后上去后就不掉下来了,而且咐橡就算掉下来,再爬上衡核旁去不可能腾空阿


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12352342.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存