标签:
#include <stdlib.h> #include <stdio.h> #include <time.h> main( ) { int i; int a,b,c,e,g,f,j; int k,d,h; float u,v; char p; int count=0; srand( (unsigned int)time( NULL ) ); for(i=1;i<31;i++) { a=rand()%10+1; b=rand()%10+1; g=rand()%10+1; f=rand()%10+1; c=rand()%4+1; while(f==0||g==0) { g=rand()%10+1; f=rand()%10+1; } if(c==1) { printf("(%d) %d/%d+%d/%d=\n",i,a,g,b,f); if(g==f) { d=a+b; h=f; } else if(g%f==0) { d=a+b*(g/f); h=g; } else if(f%g==0) { d=a*(f/g)+b; h=f; } else { d=a*f+b*g; h=g*f; } } else if(c==2) { while(a<b) { a=rand()%10+1; b=rand()%10+1; } printf("(%d) %d/%d-%d/%d=\n",i,a,g,b,f); if(g==f) { d=a-b; h=f; } else if(g%f==0) { d=a-b*(g/f); h=g; } else if(f%g==0) { d=a*(f/g)-b; h=f; } else { d=a*f-b*g; h=g*f; } } else if(c==3) { printf("(%d)( %d/%d)*(%d/%d)=\n",i,a,g,b,f); d=a*b; h=g*f; } else { printf("(%d)(%d/%d)/(%d/%d)=\n",i,a,g,b,f); d=a*f; h=g*b; } printf("输入计算答案:"); scanf("%d%s%d",&e,&p,&j); if(h%k==0&&d%k==0) { h=h/i; d=d/i; } else { u=(float)e/j; v=(float)d/h; if(u==v) { printf("结果正确!\n"); count=count+1; } else { printf("结果不正确!\n"); printf("正确答案为:%d/%d\n",d,h); } } } printf("一共答对了:%d道题\n",count); if(count==30) { printf("太棒了!\n"); } else { printf("请继续努力!\n"); } }
刚刚开始思考能够识别用户输入的分数的功能时候,真的无从下手%>_<%。但是换个思路想,其实我可以将分子分母拆开来计算,然后定义一个char型来识别用户输入的符号“\”,然后就实现这个功能啦~~我会继续加油的!
标签:
原文地址:http://www.cnblogs.com/c-19/p/4391184.html