在这里插入代码片
运用while(1)死循环;
全局变量;
#include<stdio.h>
#include<string.h>
char a[13];
int i=0;
float x;
//==============================
float t(float x,int y,char c)
{
switch(c)
{
case'+':return x+y;
case'-':return x-y;
case'*':return x*y;
case'/':return x/y;
}
}
//==============================
int isnum()
{
if(a[i]>='0'&&a[i]<='9')
return 1;
else
return 0;
}
//==============================
char isysf()
{
if(a[i]=='+'||a[i]=='-'||a[i]=='*'||a[i]=='/')
return 1;
else
return 0;
}
//==============================
int hfx()
{
for(i=0;i<=strlen(a)-1;i+=2)
{
if(isnum())
continue;
else
return 0;
}
for(i=1;i<=strlen(a)-2;i+=2)
{
if(isysf())
continue;
else
return 0;
}
if(a[strlen(a)-1]>='0'&&a[strlen(a)-1]<='9')
return 1;
return 0;
}
//================================
int main()
{
int y;
char p;
while(1)
{
gets(a);
if(hfx())
break;
printf("输入错误,请重新输入\n");
}
x=a[0]-'0';
for (i=1; a[i]!='\0';i++)
{
p=a[i];
y=a[i+1]-'0';
x=t(x,y,p);
i++;
}
printf("%.2f\n",x);
return 0;
}