自动生成四则运算的小程序

#include <stdio.h> 
#include <time.h> 
#include <stdlib.h> 
void main() 
{ 
    int a,b,c,d,s; 
    int x1=0,x2=0;
    printf("--------欢迎来挑战四则运算------\n");
    while(1) 
    { 
       srand(time(NULL)); 
       d=a=rand()%100; 
       b=(rand()%a+a)%100; 
       if(a%4==1&&a<b)
       {
           c=a,a=b,b=c;
       }
       if(b==0&&a%4==3)
       {
           b=rand()%10+1;
       }
       if(a%4==3&&a%b!=0) 
       { 
           srand(time(0)); 
           a=b*(rand()%a); 
       } 
     switch(d%4) 
     { 
      case 0:printf("%d + %d = ",a,b);
          scanf("%d",&c);
          if(c==a+b)
          {
              printf("正确\n");
              x1++;
          }
          else {
              printf("错误\n");
              x2++;
          }break;
      case 1:printf("%d - %d = ",a,b);
          scanf("%d",&c);
          if(c==a-b)
          {
              printf("正确\n");
              x1++;
          }
          else {
              printf("错误\n");
              x2++;
          }break;
      case 2:printf("%d × %d = ",a,b);
          scanf("%d",&c);
          if(c==a*b)
          {
              printf("正确\n");
              x1++;
          }
          else {
              printf("错误\n");
              x2++;
          }break;
      case 3:printf("%d ÷ %d = ",a,b);
          scanf("%d",&c);
          if(c==a/b)
          {
              printf("正确\n");
              x1++;
          }
          else {
              printf("错误\n");
              x2++;
          }break;
     } 
     
     printf("继续挑战请按确认键,按0退出挑战!\n"); 
     fflush(stdin); 
     if(getchar()=='0')break; 
    } 
    s=x1*10;
    printf("你答对了%d道题,答错%d道题\n",x1,x2);
    if(s==0)
    {
        printf("很遗憾你的了零分,请好好努力哦!\n",s);
    }
    else{
        printf("恭喜你得了%d分\n",s);
    }

看了老师发的那个升级版的要求,就尝试做了一下,要求算分数的已经能做出来了,可是真分数的那个要求想了很久还是实现不了,这算是个半成品吧。
我做的是一次性只能生成一道运算题,还有待修改,或则可以做一个一次性生成多道运算题的程序。
posted @ 2015-03-27 17:39  14-李泳江  阅读(145)  评论(1编辑  收藏  举报