99届高程题,经本人详细注释
/* http://lxleaves.126.com*/
#include<stdio.h>
int add(int x,int y){return x+y;}/*定义数学函数*/
int sub(int x,int y){return x-y;}
int mul(int x,int y){return x*y;}
int div(int x,int y){return x/y;}
/*定义函数指针数组,方便操作函数*/
int (*func[])()={add,sub,mul,div};
/*curch=每个当前字符值,num用户输入参与运算的一个数字*/
int num,curch;
/*注意和函数指针数组一一对应*/
char chtbl[]="+-*/()=";
char corch[]="+-*/()=0123456789";
/*功能:读取一个有用的字符,跳过没用的字符*/
int getach()
{
int i;
while(1)
{
/*按顺序读入缓冲区中的字符*/
curch=getchar();
/*如果缓冲区为空则返回-1*/
if(curch==EOF)return -1;
for(i=0;corch[i]&&curch!=corch[i];i++);
/*
/* http://lxleaves.126.com*/
#include<stdio.h>
int add(int x,int y){return x+y;}/*定义数学函数*/
int sub(int x,int y){return x-y;}
int mul(int x,int y){return x*y;}
int div(int x,int y){return x/y;}
/*定义函数指针数组,方便操作函数*/
int (*func[])()={add,sub,mul,div};
/*curch=每个当前字符值,num用户输入参与运算的一个数字*/
int num,curch;
/*注意和函数指针数组一一对应*/
char chtbl[]="+-*/()=";
char corch[]="+-*/()=0123456789";
/*功能:读取一个有用的字符,跳过没用的字符*/
int getach()
{
int i;
while(1)
{
/*按顺序读入缓冲区中的字符*/
curch=getchar();
/*如果缓冲区为空则返回-1*/
if(curch==EOF)return -1;
for(i=0;corch[i]&&curch!=corch[i];i++);
/*