标签:
#include<stdio.h> #include<stdlib.h> #include <time.h> #define N 30 main() { int a,b,k,j=0,i,n,num1,num2,num3,num4; int e,f,g,h,getanswer;//e为记录用户的题量,f为用户的答题答案 char op,op1; int num5,num6,num7,num8;//临时变量 srand(time(NULL)); do{ printf("\n请输入数字类型(1.整数 2.真分数) -1为退出程序: "); while(!(scanf("%d",&n))) { printf("\n 非法输入,请重新输入:"); fflush(stdin); } switch(n) { case 1: { printf("用户请输入题量:"); while(!(scanf("%d",&e))) { printf("\n 非法输入,请重新输入:"); fflush(stdin); } for(i=0;i<e;i++) { a=rand()%100+1; b=rand()%100+1; k=rand()%4+1; printf("%d",a); switch(k) { case 1:printf("+"); op=‘+‘; break; case 2:printf("-"); op=‘-‘; break; case 3:printf("*"); op=‘*‘; break; case 4:printf("/"); op=‘/‘; break; } printf("%d=",b); while(!(scanf("%d",&f))) { printf("\n 非法输入,请重新输入:"); fflush(stdin); } switch(op) { case ‘+‘: getanswer=a+b; break; case ‘-‘: getanswer=a-b; break; case ‘*‘: getanswer=a*b; break; case ‘/‘: getanswer=a/b; break; } if(f==getanswer) { printf("\n做对了\n"); j++; } else { printf("\n做错了\n"); } } printf("用户总共答对了%d道题目!",j); break; } break; case 2: { printf("用户请输入题量:"); while(!(scanf("%d",&e))) { printf("\n 非法输入,请重新输入:"); fflush(stdin); } for(i=0;i<e;i++) { num1=rand()%10+1; num2=rand()%10+1; num3=rand()%10+1; num4=rand()%10+1; if(num1>num2) { num5=num1; num1=num2; num2=num5; } if(num3>num4) { num5=num3; num3=num4; num4=num5; } op=‘+‘; num6=num1*num4+num2*num3; num7=num2*num4; num8=num6; while(num8>1) { if(num6%num8==0 && num7%num8==0) { num6=num6/num8; num7=num7/num8; } num8--; } printf("\n(%d/%d)%c(%d/%d)=",num1,num2,op,num3,num4); while(!(scanf("%d%c%d",&g,&op1,&h))) { printf("\n 非法输入,请重新输入:"); fflush(stdin); } if((g==num6)&&(h==num7)) { printf("\n做对了\n"); j++; } else { printf("\n做错了\n"); } } printf("用户总共答对了%d道题目!",j); } break; } }while(n!=-1); }
标签:
原文地址:http://www.cnblogs.com/Russelling/p/4381204.html