首页 > 其他分享 >9.18随笔

9.18随笔

时间:2023-09-18 21:56:10浏览次数:44  
标签:operand1 cout 9.18 operand2 int result return 随笔

用c++实现一个程序:

任意生成30道两位数四则运算题目,要求:减法输出结果不可以出现负数,除法输出结果不能有小数,乘法输出结果位数不可超过999.

代码实现

#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;

int generateNumber(int min, int max) {
return min + rand() % (max - min + 1);
}

char generateOperator() {
char operators[] = {'+', '-', '*', '/'};
int index = rand() % 4;
return operators[index];
}

bool checkSubtraction(int operand1, int operand2) {
return operand1 >= operand2;
}

bool checkMultiplication(int operand1, int operand2) {
return operand1 * operand2 <= 99;
}

bool checkDivision(int operand1, int operand2) {
return operand1 % operand2 == 0;
}

int main() {
srand(time(0));

int correctCount = 0;
int wrongCount = 0;

for (int i = 0; i < 30; i++) {
int operand1 = generateNumber(10, 99);
int operand2 = generateNumber(10, 99);
char op = generateOperator();

int result = 0;
string operatorStr;

switch (op) {
case '+':
result = operand1 + operand2;
operatorStr = "+";
break;
case '-':
if (!checkSubtraction(operand1, operand2)) {
i--;
continue;
}
result = operand1 - operand2;
operatorStr = "-";
break;
case '*':
if (!checkMultiplication(operand1, operand2)) {
i--;
continue;
}
result = operand1 * operand2;
operatorStr = "*";
break;
case '/':
if (!checkDivision(operand1, operand2)) {
i--;
continue;
}
result = operand1 / operand2;
operatorStr = "/";
break;
}

int answer;
cout << "题目" << i+1 << ": " << operand1 << " " << operatorStr << " " << operand2 << " = ";
cin >> answer;

if (answer == result) {
cout << "回答正确!" << endl;
correctCount++;
} else {
cout << "回答错误!" << endl;
wrongCount++;
}
}

cout << "回答正确的题目数量: " << correctCount << endl;
cout << "回答错误的题目数量: " << wrongCount << endl;

return 0;
}

//这个代码还需改进,求大佬指点迷津。

 

标签:operand1,cout,9.18,operand2,int,result,return,随笔
From: https://www.cnblogs.com/my0326/p/17713171.html

相关文章

  • 9.18每日总结
    今日学习C#基本语法,感觉和java类似,准备团队任务学习软考,开始复习数据结构加法规则:多项相加,保留最高阶段,并将系数化为1乘法规则:多项相乘都保留,并将系数化为1加法乘法混合规则:先小括号在乘法规则最后加法规则递归的时间和空间复杂度递归主方法T(n)=aT(n/b)+f(n)线性表,......
  • 9.18总结
    今天上午工程实训课,看了许多传统和现代的机器,还用激光雕刻了一个小物件 下午上课,进行测试......
  • 每日总结9.18
    今天上午没有课,我在宿舍里泡了紫薯粥,加了椰奶以后变得很好喝。收拾好了之后我开始坐在床上学习java,看了yxc的课,他的讲义也对我很有帮助,让我明白了之前课前测试里的很多当时我不懂的东西,也更加熟悉地掌握了。下午去上了建民老师的课,今天学了方法,又学到了一些以前我搞不太清楚的东......
  • 9.18记
    今天又是有Java课的一天,王建民老师给我们讲了Java的方法,还布置了课堂测试,在上次四则运算的基础上增加了三个功能(1)要求题目避免重复,减法不允许出现负数,乘法结果不允许出现四位数,除法必须整除不允许出现小数;(2)实现在线实时答题,并在答题结束后,统计显示错题数,正确率;(3)增加倒计时功......
  • 9.18
    上午参加工程实训课,自己动手打造了一个镀锌铁盒,同时熟悉了各种工具的使用。下午实现二位数加减乘除的程序,同时实现各种要求。importjava.util.Random;importjava.util.Scanner;publicclasscheng{publicstaticbooleancontains(intnum1,intnum2,intnum3,i......
  • 23.9.18
    程序员修炼之道从小工到专家  读书笔记第一节:我的源码让猫给吃了。1、开发过程中出现未曾预料的技术问题,交付晚了等情况,没关系,这些是无法避免的。发生了,我们就要尽可能想方设法地职业的去处理它们。程序员这个职业需要诚实和坦率,要敢于承认自己的错误。2、要对担负的东西负......
  • 9.18日课堂上java练习
    1importjava.util.ArrayList;2importjava.util.Random;3importjava.util.Scanner;4importjava.util.ArrayList;5importjava.util.Random;6importjava.util.Scanner;78publicclassCountdownThreadextendsThread{9privatest......
  • 9.18随笔
    1.今儿破格早起了,去图书馆写了一节课高频电子线路,感觉高频是比较重要的,电赛的时候也用到了,还是魏老师编写的,本学期专业课难度:数字信号处理(2.5)>电磁场电磁波(2.5)>计算机网络(2.5)>高频电子线路(3),点都不想学习呢今天,又让我不禁有个灵魂拷问,为什么要学习,好像有点知道为什么,但又不是那么紧......
  • 9.18
    给小学二年级学生出题plus加强版乘法结果不大于1000;除法能够整除;都是两位数;不能出现负数;题目具有倒计时功能;题目不重复;packagedaily0;importjava.util.Random;importjava.util.Timer;importjava.util.TimerTask;importjava.util.Scanner;publicclassdaily1{......
  • 爬虫随笔(一)
    最近因为工作和研究方向的变动,开始学习爬虫,现在是刚刚入门,简单写一些,爬虫入门的建议。一、基础知识(1)掌握的编程语言:python、Html、JS、CSSPython是必须的,虽然Java也可以实现相关功能,但是总归脚本写起来方便一点。如果有语言基础,直接去菜鸟教程,看语法,就差不多掌握了。Html、JS......