C语言编写四则运算.pdfVIP

  • 25
  • 0
  • 约7.29千字
  • 约 8页
  • 2020-10-13 发布于广东
  • 举报
C语言编写四则运算 #include stdio.h //计算器 #include malloc.h #define STACK_SIZE 100 //max size of the stack #define STACK_INCREMENT 10 //realloc size typedef struct FStack //stack of int { float* base ; float* top; int stacksize; }FStack ; void Init(FStack* s) { s-base = (float*)malloc (STACK_SIZE * sizeof(FStack)); if (!s-base) { printf (overflow!\n); return ; } s-top = s-base ; s-stacksize = STACK_SIZE; } bool isEmpty(FStack* s) { if (s-top == s-base) { return true; } else { return false; } } void Push (FStack* s, float e) { if (s-top - s-base = s-stacksize) { 1 printf (stack is full!\nrealloc %d\n, STACK_INCREMENT); s-base = (float*)realloc (s-base, (s-stacksize + sizeof(FStack))); if (!s-base) { printf (overflow!\n); return ; } s-top = s-base + s-stacksize; s-stacksize += STACK_INCREMENT; } *(s-top) = e; (s-top)++; } float GetTop (FStack* s) { if (s-top == s-base) { printf (stack is empty!\n); return 0; } float e = *(s-top - 1); return e; } void Pop (FStack* s) { if (s-top == s-base) { printf (stack is empty!\n); return ; } s-top-- ; } typedef struct CStack //stack of char { char* base ; char* top; int stacksize; }CStack ; void Init(CStack* s) 2 { s-base = (char*)malloc(STACK_SIZE * sizeof(CStack)); if (!s-base) { printf (overflow!\n); return ; } s-top = s-base ; s-stacksize = STACK_SIZE; } bool isEmpty(CStack* s) { if (s-top == s-base) { return true;

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档