题目要求及关键代码说明

要求:

写一个能自动生成小学四则运算的命令行“软件”,分别满足下面的各种需求。

下面这些需求都可以用命令行参数的形式来指定:

a)一次可以出一千道题目,并且没有重复的,把题目写入一个文件中。

b)逐步扩展功能和可以支持的表达式类型,最后可以支持最多10个运算符,括号数量不限制的表达式。

c)出了整数以外,还要支持真分数的四则运算。(例如:1/6+1/8=7/24)

d)让程序能接受用户输入答案,并判定对错,最后给出总共 对/错 的数量。

代码说明:

函数:

int gcd(long int m,long int n)

void float_to_fraction(double x)

void create()

int mycmp(char a, char b)

void infix_to_suffix(char* infix, char* suffix)

double suffix_value(char* suffix)

int main(int argc , char *argv[])

函数说明:

(1)、求最大公因数

int gcd(long int m,long int n)
{
    while(m%n!=0){
        int t=m%n;
        m=n;
        n=t;
    }
    return n;
}

(2)、浮点数转化为分数

void float_to_fraction(double x)

(3)、四则运算生成函数

void create()

  

(4)、比较运算符优先级

int mycmp(char a, char b)

  

(5)、中缀表达式转后缀表达式

void infix_to_suffix(char* infix, char* suffix)

  

(6)、后缀表达式求值

double suffix_value(char* suffix)

 

(7)、主函数

int main(int argc , char *argv[])

  

猜你喜欢

转载自www.cnblogs.com/szys/p/9017278.html