用栈实现阶乘

您所在的位置:网站首页 如何用python算阶乘 用栈实现阶乘

用栈实现阶乘

2023-10-02 16:18| 来源: 网络整理| 查看: 265

实验内容:

从键盘读入若干个整数,建一个链式栈,并完成下列操作:

(1)初始化栈;

(2)判栈为空;

(3)出栈;

(4)入栈。

 

实验步骤:

(1)定义结构体及栈链数据域的最大值

#include

#define MAX 30

typedef struct stack{

int next;

int data[20];

}Stack;

Stack t;

 

(2)入栈

定义一个变量i,以及所输入要计算的n阶乘,在进行判断,如果输入的n比MAX大,则直接退出,不然执行下面的语句。写一个for循环,将1到n依次加1存入到栈中,最后再将输入的n输出到屏幕上。

int push(int i)

{

   int n;

   scanf("%d", &n);

   if(n > MAX)

    return;

   for(i=2; i

   long l = 1;

   while(t.next > 0)

   {

      l *= t.data[--t.next];

   }

   return l;

}

 

(4)主函数

主函数用于栈链指针的初始化,以及应用入栈,出栈函数。

 void main()

{

int n;

long l = 1;

t.next = 0;

push(n);

printf("%d \n", pop(l));

}

 

(5)代码入下

#include

#define MAX 30

 

typedef struct stack{

int next;

int data[20];

}Stack;

Stack t;

 

int push(int i)

{

   int n;

   scanf("%d", &n);

   if(n > MAX)

    return;

   for(i=2; i

   long l = 1;

   while(t.next > 0)

   {

      l *= t.data[--t.next];

   }

   return l;

}

void main()

{

int n;

long l = 1;

t.next = 0;

push(n);

printf("%d \n", pop(l));

}

 

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3