600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > 速算24 c语言 C语言源程序代码-速算24

速算24 c语言 C语言源程序代码-速算24

时间:2021-02-07 09:07:51

相关推荐

速算24 c语言 C语言源程序代码-速算24

=='*')/*如果为'*'号*/

{

top=ptop(top,&num2); /*将栈顶元素取出存入num2中*/

top=ptop(top,&num1); /*将栈顶元素取出存入num1中*/

result=num1*num2; /*将num1与num2相乘结果存入result中*/

top=push(top,result); /*将result压入堆栈*/

}

if(s=='/') /*如果为'/'号*/

{

top=ptop(top,&num2); /*将栈顶元素取出存入num2中*/

top=ptop(top,&num1); /*将栈顶元素取出存入num1中*/

result=num1/num2; /*将num1除num2结果存入result中*

top=push(top,result); /*将result压入堆栈*/

}

i++;/*i加1*/

}

top=ptop(top,&result); /*最后栈顶元素的值为计算的结果*/

return result;/*返回结果*/

}

STACK1 *initstack1(STACK1 *top) /*初始化*/

{

top=NULL; /*栈顶指针置为空*/

return top;/*返回栈顶指针*/

}

STACK1 *push(STACK1 *top,int x) /*入栈函数*/

{

STACK1 *p;/*临时指针类型为STACK1*/

p=(STACK1 *)malloc(sizeof(STACK1));/*申请STACK1大小的空间*/

if(p==NULL)/*如果p为空*/

{

printf("memory is oveRFlow\n!!"); /*显示内存溢出*/

exit(0); /*退出*/

}

p->data=x; /*保存值x到新空间*/

p->link=top;/*新结点的后继为当前栈顶指针*/

top=p;/*新的栈顶指针为新插入的结点*/

return top; /*返回栈顶指针*/

}

STACK1 *pop(STACK1 *top) /*出栈*/

{

STACK1 *q; /*定义临时变量*/

q=top;/*保存当前栈顶指针*/

top=top->link; /*栈顶指针后移*/

free(q);/*释放q*/

return top; /*返回栈顶指针*/

}

int topx(STACK1 *top)/*读栈顶元素*/

{

if(top==NULL)/*栈是否为空*/

{

printf("Stack is null\n"); /*显示栈为空信息*/

return 0; /*返回整数0*/

}

return top->data; /*返回栈顶元素*/

}

STACK1 *ptop(STACK1 *top,int *x) /*取栈顶元素,并删除栈顶元素*/

{

*x=topx(top);/*读栈顶元素*/

top=pop(top); /*删除栈顶元素*/

return top; /*返回栈顶指针*/

}

int empty(STACK1 *top) /*判栈是否为空*/

{

if(top==NULL) /*如果为空*/

return 1;/*返回1*/

else

return 0; /*否则返回0*/

}

STACK2 *initstack2(STACK2 *top) /*初始化*/

{

top=NULL; /*栈顶指针置为空*/

return top; /*返回栈顶指针*/

}

STACK2 *push2(STACK2 *top,char x) /*入栈函数*/

{

STACK2 *p; /*临时指针类型为STACK2*/

p=(STACK2 *)malloc(sizeof(STACK2)); /*申请STACK2大小的空间*/

if(p==NULL) /*如果p为空*/

{

printf("memory is overflow\n!!"); /*显示内存溢出*/

exit(0); /*退出*/

}

p->data=x; /*保存值x到新空间*/

p->link=top; /*新结点的后继为当前栈顶指针*/

top=p; /*新的栈顶指针为新插入的结点*/

return top; /*返回栈顶指针*/

}

STACK2 *pop2(STACK2 *top) /*出栈*/

{

STACK2 *q; /*定义临时变量*/

q=top; /*保存当前栈顶指针*/

top=top->link; /*栈顶指针后移*/

free(q); /*释放q*/

return top; /*返回栈顶指针*/

}

char topx2(STACK2 *top) /*读栈顶元素*/

{

if(top==NULL) /*栈是否为空*/

{

printf("Stack is null\n"); /*显示栈为空信息*/

return ''; /*返回空字符*/

}

return top->data; /*返回栈顶元素*/

}

STACK2 *ptop2(STACK2 *top,char *x) /*取栈顶元素,并删除栈顶元素*/

{

*x=topx2(top); /*读栈顶元素*/

top=pop2(top); /*删除栈顶元素*/

return top; /*返回栈顶指针*/

}

int empty2(STACK2 *top) /*判栈是否为空*/

{

if(top==NULL) /*如果为空*/

return 1; /*返回1*/

else

return 0; /*否则返回0*/

}

int text1(char *s)

{

setbkcolor(BLUE); /*设置背景颜色为蓝色*/

cleardevice(); /*清除屏幕*/

setcolor(12); /*设置文本颜色为淡红色*/

settextstyle(1, 0, 8);/*三重笔划字体, 放大8倍*/

outtextxy(120, 120, s); /*输出字符串s*/

setusercharsize(2, 1, 4, 1);/*水平放大2倍, 垂直放大4倍*/

setcolor(15); /*设置文本颜色为*白色/

settextstyle(3, 0, 5); /*无衬字笔划, 放大5倍*/

outtextxy(220, 220, s); /*输出字符串s*/

getch(); /*键盘输入任一字符*/

return ; /*返回*/

}

0

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。