通过计算机随机产生一道四则运算题(两个操作数为在1-10之间的整数,操作类型为加、减、乘、除中的任意一种)

若输入答案正确,则显示“Right!”,否则显示“Not correct!”。

然后,在main函数中调用该函数,完成若干道题目测试,并显示回答正确的题目数量。



#include <stdio.h>

#include <stdlib.h>

#include <time.h>

int free_num()

{

       int i,number;
       srand((unsigned)time(NULL));
       number = rand()%101; //随机得到一个100以内的数
       return number;

}
char free_char()
{
       int i,number;
       srand((unsigned)time(NULL));
       number = rand()%4; //随机得到一个4以内的数
       switch(number) //随机产生运算符号
       {
              case 0: return '+';break;
              case 1: return '-';break;
              case 2: return '*';break;
              case 3: return '/';break;
              default: printf("error!");break;
       }
}
int main()
{
       double a,b;
       double s;
       char c;
       int n;
       double result;
       int p=0; //计数 
       printf("请输入需要完成的题目数量:");
       scanf("%d", &n);
       for (int k=0;k<n;k++)
       {
              a = free_num();
              c = free_char();
              b = free_num();
              printf("%.0lf%c%.0lf=\n", a, c, b);
              /*比较运算结果是否正确*/
              switch (c)
              {
                     case '+': s=a+b;break;
                     case '-': s=a-b;break;
                     case '*': s=a*b;break;
                     case '/': s=a/b;break;
              }
              printf("请输入计算结果:\n");
              scanf("%lf", &result);
              if (result == s)
              {
                     printf("Right\n");
                     p++; //记录正确数量
              }
              else
              {
                     printf("Not correct\nThe result is: %.0lf\n", s);
              }
       }
       printf("%d题目正确", p);
       return 0;
}

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐