📅  最后修改于: 2023-12-03 14:39:41.224000             🧑  作者: Mango
给定两个整数,计算它们的和,并返回适当的运营商使结果为正。
char findOperator(int a, int b);
题目要求使两个数的和为正数。因此,首先需要计算两个数的和,然后判断它的正负,最后根据正负来返回相应的运算符。
具体实现如下:
定义变量sum,计算a和b的和。
判断sum的正负:
如果返回的是'+', 直接返回;如果返回的是'-', 则需根据a和b的大小关系来选择运算符。
如果返回的是'*'或'/', 则说明b不能为0,根据b的正负来选择相应的运算符。
char findOperator(int a, int b) {
int sum = a + b;
if (sum == 0) {
return '+';
} else if (sum > 0) {
return '+';
} else {
if (a > b) {
return '-';
} else if (a < b) {
return '+';
} else {
return '+';
}
}
if (b == 0) {
return '*';
} else {
if (b > 0) {
return '*';
} else {
return '/';
}
}
}
#include <stdio.h>
int main() {
printf("%c\n", findOperator(1, 2)); // +
printf("%c\n", findOperator(1, -2)); // -
printf("%c\n", findOperator(-1, 2)); // +
printf("%c\n", findOperator(-1, -2)); // -
printf("%c\n", findOperator(0, 0)); // +
printf("%c\n", findOperator(1, 0)); // *
printf("%c\n", findOperator(-1, 0)); // *
printf("%c\n", findOperator(0, 1)); // *
printf("%c\n", findOperator(0, -1)); // /
return 0;
}
+
-
+
-
+
*
*
*
/