>>112
また「予期しない入力があったときの動作が未定義」な課題かよ。
#include<stdio.h>
#include<stdlib.h>
#include<ctype.h>
double calc(double a,double b,char op){switch(op){
case'+':return a+b;case'-':return a-b;case'*':return a*b;case'/':return a/b;}return 0.0;}
int anal(double* d,char* str,int len){char tmp[100];int i=0,n=0;
while(n<len&&isspace(str[n]))n++;while((n+i)<len&&i<100&&(isdigit(str[i+n])||str[i+n]=='.')){
tmp[i]=str[i+j];i++;}tmp[i]='\0';*d=atof(tmp);return i+n;}
int main(void){char tmp[100];double a,b;int len,n;char op;
fgets(tmp,100,stdin);len=strlen(tmp);n=anal(&a,tmp,len);op=tmp[n++];
anal(&b,&tmp[n],len-n);if(tmp[n]=='=')printf("%s%f\n",tmp,calc(a,b,op));return 0;}