通过计算机随机产生一道四则运算题

本文介绍了一个使用C语言实现的随机四则运算题生成器,它能生成两个操作数在1-10之间的整数运算题,包括加、减、乘、除四种运算。程序还包含了评测功能,能够判断用户输入的答案是否正确,并统计回答正确的题目数量。

通过计算机随机产生一道四则运算题(两个操作数为在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;
}

评论 10
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值