选择结构程序设计:设计程序,完成两位数x和y的加、减、乘、除四则运算,即产生两个两位随机整数,再输入一个运算符号,完成对应的运算,并显示相应的结果。
时间: 2024-05-22 20:14:11 浏览: 48
你好,根据您的描述,这是一道关于选择结构程序设计的问题,我可以帮您解答。为了完成这道题目,您需要首先生成两个两位随机整数,可以使用random库中的函数实现。然后询问用户输入运算符号,可以使用input函数实现。接着使用if语句对运算符进行判断,并进行对应的计算。最后输出结果即可。需要注意的是,对于除法运算需要注意除数不能为0的情况。希望我的回答能对您有所帮助!
相关问题
使用MATLAB设计程序,完成两位数的加、减、乘、除四则运算,即随机 输入两个 整数,再输入一个运算符号,做相应的运算,显示相应的结果,并要求结果显示类似于“ a=x+y= 34 ” 。
好的,您可以使用以下代码实现:
```matlab
% 生成两个随机整数
a = randi([10, 99], 1, 2);
% 随机生成运算符号
operator = randi([1, 4]);
switch operator
case 1 % 加法
result = a(1) + a(2);
symbol = '+';
case 2 % 减法
result = a(1) - a(2);
symbol = '-';
case 3 % 乘法
result = a(1) * a(2);
symbol = '*';
case 4 % 除法
result = a(1) / a(2);
symbol = '/';
end
% 显示结果
fprintf('%d %s %d = %d\n', a(1), symbol, a(2), result);
```
这段代码会生成两个随机的两位数,再随机生成一个运算符号,根据运算符号做相应的运算,最后显示结果。运行多次可以得到不同的题目和答案。
用C++作答。设计一个求两个大整数四则运算的类。要求如下。 (1)类中私有数据成员为2个运算数及位数、运算结果。 (2)公有成员函数包括:构造函数和析构函数;接收数据的函数;和函数;差函数; 积函数;除函数;显示函数;清零函数等。 程序运行结果如下所示: Please enter one: 1234567 please enter two: 2345678 one+two=3580245 one-two=-1111111 one*two=2895896651426 one/two=52631742743
以下是实现上述功能的C++代码:
```c++
#include <iostream>
#include <cstring>
using namespace std;
class BigNum {
private:
char num1[1000], num2[1000], result[1000];
int len1, len2, lenr;
public:
BigNum() {
len1 = len2 = lenr = 0;
memset(num1, 0, sizeof(num1));
memset(num2, 0, sizeof(num2));
memset(result, 0, sizeof(result));
}
~BigNum() {}
void input() {
cout << "Please enter one: ";
cin >> num1;
len1 = strlen(num1);
cout << "Please enter two: ";
cin >> num2;
len2 = strlen(num2);
}
void add() {
int i = len1 - 1, j = len2 - 1, k = 0, carry = 0;
while (i >= 0 || j >= 0) {
int x = i >= 0 ? num1[i] - '0' : 0;
int y = j >= 0 ? num2[j] - '0' : 0;
int sum = x + y + carry;
result[k++] = sum % 10 + '0';
carry = sum / 10;
i--; j--;
}
if (carry) result[k++] = carry + '0';
lenr = k;
}
void sub() {
int i = len1 - 1, j = len2 - 1, k = 0, borrow = 0;
while (i >= 0 || j >= 0) {
int x = i >= 0 ? num1[i] - '0' : 0;
int y = j >= 0 ? num2[j] - '0' : 0;
int diff = x - y - borrow;
if (diff < 0) {
diff += 10;
borrow = 1;
} else {
borrow = 0;
}
result[k++] = diff + '0';
i--; j--;
}
while (k > 1 && result[k - 1] == '0') k--;
lenr = k;
}
void mul() {
int i, j, k, carry = 0;
for (k = 0; k < len1 + len2; k++) {
result[k] = '0';
}
for (i = 0; i < len1; i++) {
for (j = 0; j < len2; j++) {
int x = num1[i] - '0';
int y = num2[j] - '0';
int z = x * y + carry + result[i + j] - '0';
result[i + j] = z % 10 + '0';
carry = z / 10;
}
while (carry) {
int z = carry + result[i + j] - '0';
result[i + j] = z % 10 + '0';
carry = z / 10;
j++;
}
}
k = len1 + len2 - 1;
while (k > 1 && result[k] == '0') k--;
lenr = k + 1;
}
void div() {
int i, j, k;
for (i = 0; i < len1; i++) {
result[i] = num1[i];
}
result[len1] = '\0';
lenr = len1;
while (lenr > 0) {
for (k = 0; k < 10; k++) {
if (strcmp(result, num2) < 0) break;
sub();
}
result[lenr] = '0';
lenr++;
for (i = lenr - 1; i >= 1; i--) {
result[i] = result[i - 1];
}
result[0] = k + '0';
if (result[lenr - 1] == '0') lenr--;
}
}
void display() {
cout << "one+two=";
for (int i = lenr - 1; i >= 0; i--) {
cout << result[i];
}
cout << endl;
}
void clear() {
len1 = len2 = lenr = 0;
memset(num1, 0, sizeof(num1));
memset(num2, 0, sizeof(num2));
memset(result, 0, sizeof(result));
}
};
int main() {
BigNum num;
num.input();
num.add();
num.display();
num.clear();
num.input();
num.sub();
num.display();
num.clear();
num.input();
num.mul();
num.display();
num.clear();
num.input();
num.div();
num.display();
return 0;
}
```
上述代码实现了大整数的加减乘除四则运算,并且可以在控制台中输入两个大整数进行运算,并输出结果。
阅读全文