c-简单的计算器

0.0……又是一个小练习……输入含非负整数和一个四则运算符的算式然后输出结果

除数不能为0……当除数是0的时候等待用户……以上

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAXN 100
#define MOD 1000
char a[MAXN];

int main(int argc, char *argv[])
{
    int i,j;
    double fin,fina=0,finb=0;
    while(scanf("%s",a)==1)
    {
        for(i=0; i<strlen(a); i++)
        {
            if(a[i]=='+'||a[i]=='-'||a[i]=='*'||a[i]=='/')
            {
                for(j=0; j<i; j++)
                {
                    fina=fina*10+a[j]-'0';
                }
                for(j=i+1; j<strlen(a); j++)
                {
                    finb=finb*10+a[j]-'0';
                }
                //printf("%lf%lf",fina,finb);//查错
                if(a[i]=='/'&&finb==0.0)
                   {printf("The divisor can`t be zero");
                    system("pause");}
                if(a[i]=='+') fin=fina+finb;
                if(a[i]=='-') fin=fina-finb;
                if(a[i]=='*') fin=fina*finb;
                if(a[i]=='/'&&finb!=0.0) fin=fina/finb;
                fina=finb=0;
            }
        }
        printf("%lf",fin);
    }
}
运行一下~……



原文地址:https://www.cnblogs.com/ldgforever/p/5990950.html