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);
}
}
运行一下~……