逆波兰表达式(7)

/* Function: 计算结果并入栈 */
void CalculateAndPush(double *num, int *i, int *j, char mm)
{
    switch (mm)
    {
    case '+':
        {
            num[(*j)-2] = num[(*j)-1] + num[(*j)-2];
            (*j)--;
            (*i)++;
            break;
        }
    case '-':
        {
            num[(*j)-2] = num[(*j)-1] - num[(*j)-2];
            (*j)--;
            (*i)++;
            break;
        }
    case '*':
        {
            num[(*j)-2] = num[(*j)-1] * num[(*j)-2];
            (*j)--;
            (*i)++;
            break;
        }
    case '/':
        {
            num[(*j)-2] = num[(*j)-1] / num[(*j)-2];
            (*j)--;
            (*i)++;
            break;
        }
    default:
        {
            exit(0);
        }
    }
}
/* Function: 判断文件打开是否成功 */
void JudgeFopen_s(errno_t err)
{
    if (err != 0)
    {
        printf("文件打开失败\n");
        system("pause");
        exit(0);
    }
}

/* Function: 读取文件内容*/
void ReadFile(FILE *fp, char *ss)
{
    int i = 0;

while (!feof(fp))
    {
        fscanf_s(fp, "%c", &ss[i]);
        i++;
    }
    ss[i-1] = '\0';
}

/* Function: 将char类型数组的每一个元素转换为double */
double TransformCtoD(char ch)
{
    return (double)(ch - '0');
}

Linux公社的RSS地址https://www.linuxidc.com/rssFeed.aspx

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/2a7b13b7c88813cbc9e15362ba8a1b5a.html