四则运算的编程 苦恼中~~
制作一个可供小学数学四则运算程序,能根据输入题数出题,判断做题是否正确,最后计算分数。我还不知道从哪下手,各位高手们,指点一下吧。
我的C还不到半年,所以来求助了!
#include <stdio.h> #include <stdlib.h> #include <time.h> //函数声明 int GetOperator(); //随机返回运算符 0表示+,1表示-,2表示×,3表示/ int GetNumber(); //随机返回一个10以内的数 void Display(int num1,int num2,int oper); //根据参数输出算式,其中num1,num2表示运算数,oper表示运算符 double GetAnswer(int num1,int num2,int oper); //根据参数返回运算结果,其中num1,num2表示运算数,oper表示运算符 void main() { srand((unsigned)time(NULL)); int num1,num2; //表示运算的两个数 num1=GetNumber(); num2=GetNumber(); int oper; //表示运算符 oper=GetOperator(); Display(num1,num2,oper); double ans=GetAnswer(num1,num2,oper); //获取答案 double tmp; scanf("%lf",&tmp); //用户输出答案 if(tmp==ans) printf("答案正确\n"); else printf("答案错误\n"); } //随机返回运算符 0表示+,1表示-,2表示×,3表示/ int GetOperator() { return rand()%4; } //随机返回一个10以内的数 int GetNumber() { return rand()%11; } //根据参数输出算式,其中num1,num2表示运算数,oper表示运算符 void Display(int num1,int num2,int oper) { char ch; //表示运算符的字符 switch(oper) { case 0: ch='+';break; case 1: ch='-';break; case 2: ch='*';break; case 3: ch='/';break; } printf("%d%c%d=",num1,ch,num2); } //根据参数返回运算结果,其中num1,num2表示运算数,oper表示运算符 double GetAnswer(int num1,int num2,int oper) { double ans; switch(oper) { case 0: ans=num1+num2;break; case 1: ans=num1-num2;break; case 2: ans=num1*num2;break; case 3: ans=(double)num1/num2;break; } return ans; }