四则小运算
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include <string>
bool CheckSymbol(char s)
{
char ch[4]={'+','-','*','/'};
for (int i=0;i<4;i++)
{
if(s==ch[i]) return true;
}
return false;
}
bool CheckValid(const char p[10])
{
int start=-1,i=0;
while (p[i])
{
if(isdigit(p[i])||p[i]=='.')
{
if(start==-1)
{
start=i;
}
}
else
{
return false;
}
i++;
}
return true;
}
void main(void)
{
char b[10],ch;
float a,c,digits[1];
scanf("%f%c%s",&a,&ch,b);
if(CheckValid(b))
{
if (CheckSymbol(ch))
{
digits[0]=atoi(b);
if (ch=='+')
c=a+digits[0];
if (ch=='-')
c=a-digits[0];
if (ch=='*')
c=a*digits[0];
if (ch=='/')
{
if(digits[0]==0)printf("除数不能为零\n");
else c=a/digits[0];
return;
}
printf("%5.2f%c%5.2f",a,ch,digits[0]),
printf("="),
printf("%5.2f\n",c);
}
else printf("四则运算符号有误\n");
}
else printf("error,右操作含有非法字符\n");
}