栈子系统c语言程序,数据结构:栈子系统-20210322191554.docx-原创力文档

/*

题目:设计一个字符型的链栈。

编写进栈、出栈、显示栈中全部元素的程序。

题目:编写一个把十进制整数转换为二进制数的应用程序

题目:编写一个把中缀表达式转换为后缀表达式(逆波兰式)的应用程序

题目:设计一个选择式菜单,以菜单方式选择上述操作。

*

栈子系统

*

*******************************

*

*

1------

*

*

*

2------

*

*

*

3------

*

*

*

4------

数值转换

*

*

*

5------

逆波兰式

*

*

*

0------

*

*******************************

请选择菜单号( 0--5 ):

*/

#include <>

#include <>

#define STACKMAX 50

typedef struct sta

//

栈的存储结构

{

int data;

struct sta *next;

}stackNode;

typedef struct

//

指向栈顶的指针

{

stackNode *top;

}linkStack;

void conversion(int n);

void push(linkStack *p, int x);

int pop(linkStack *p);

void showStack(linkStack *p);

void sufflx();

/*************************************************

Function: main()

Description:主调函数

Calls: push()

pop()

showStack()

conversion()

Input: NULL

Return: void

Others: NULL

*************************************************/

void main()

{

int x, choice, i = 1;

linkStack p;

= NULL;

//

置空栈

while (i)

{

printf("\n

栈 子 系 统 \n");

printf("*******************************\n");

printf("*

1------

*\n");

printf("*

2------

*\n");

printf("*

3------

*\n");

printf("*

4------

数值转换

*\n");

printf("*

5------

逆波兰式

*\n");

printf("*

0------

*\n");

printf("*******************************\n");

printf("

请选择菜单号(

0--5

): ");

fflush(stdin);

//

清空输入的缓存区

choice = getchar();

switch(choice)

{

case '1':

while (1)

{

printf(" 请输入一个整数( ‘0’表示结束)并按回车: "); scanf("%d", &x);

if (x != 0)

{

push(&p, x);//入栈

}

else

{

break;

}

}

break;

case '2':

x = pop(&p);//出栈

if (x > 0)

{

printf("出栈元素为: %d\n", x);

}

else

{

printf("栈为空,没有元素可以出栈!\n");

}

break;

case '3':

showStack(&p);//显示栈元素

break;

case '4':

printf("请输入十进制数:");

scanf("%d", &x);

conversion(x);

//

数值转换

break;

case '5':

sufflx();

break;

case '0':

i = 0;

break;

default:

i = 1;

break;

}

}

}

/*************************************************

Function: conversion()

Description:十进制数转换二进制数

Calls: push()

pop()

Input: n :输入的要转换的数

Return: void

Others: NULL

*************************************************/

void

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
商用密码产品认证-密码模块分级检测申请材料编写说明 - 初稿文档.docx是一份用于商用密码产品认证的申请材料编写说明文档。该文档的目的是指导申请者编写申请材料,以便通过密码模块分级检测并最终获得商用密码产品认证。 该文档的编写说明将帮助申请者了解每个申请材料的要求和内容,并提供了编写每个材料的指导。下面我将用300字回答该文档的内容。 首先,该文档介绍了申请材料的总体结构和组成,包括封面、目录、材料清单等。申请者需要按照指导编写这些基本部分,确保材料的清晰有序。 其次,文档详细列出了各类申请材料的要求。例如,申请表格要求提供产品基本信息、密码模块分类、授权书等内容。安全性能评估报告要求包括密码算法描述、加密强度分析和安全性测试结果等。 文档还提供了每个申请材料的编写指导。例如,在编写密码模块功能描述时,申请者应准确描述模块实现的密码算法、数据加密方法和密钥管理方案。在编写密码模块接口协议说明时,申请者应详细描述模块与其他系统的通信协议。 最后,文档还指导了材料的格式要求和注意事项。申请者需要使用标准格式编写材料,并注意遵循相关法律法规的要求。文件命名、标识和装订等要求也在文档中详细说明。 总而言之,商用密码产品认证-密码模块分级检测申请材料编写说明 - 初稿文档.docx提供了申请商用密码产品认证所需的准确、清晰且完整的申请材料编写指导。申请者应根据该文档的要求编写申请材料,以便顺利通过密码模块分级检测并获得商用密码产品认证。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值