作者:平凡小店88 | 来源:互联网 | 2024-11-16 16:20
本文由编程笔记小编整理,主要介绍了括号匹配和计算问题的相关知识,希望对您有所帮助。
1. 括号匹配
括号匹配是编程中常见的问题之一,用于检查字符串中的括号是否正确配对。以下是实现括号匹配的C语言代码示例:
int isMatched(char left, char right) {
if (left == '(' && right == ')') {
return 1;
} else if (left == '[' && right == ']') {
return 1;
} else if (left == '{' && right == '}') {
return 1;
} else {
return 0;
}
}
int isParenthesesBalanced(char exp[]) {
char s[MaxSize];
int top = -1;
for (int i = 0; exp[i] != '\0'; i++) {
if (exp[i] == '(' || exp[i] == '{' || exp[i] == '[') {
s[++top] = exp[i];
}
if (exp[i] == ')' || exp[i] == '}' || exp[i] == ']') {
if (top == -1) {
return 0;
}
char left = s[top--];
if (isMatched(left, exp[i]) == 0) {
return 0;
}
}
}
if (top > -1) {
return 0;
}
return 1;
}
2. 计算问题
计算问题是另一个常见的编程任务,通常涉及数学运算。以下是一个简单的计算函数示例,该函数将一个整数分解为3的幂次,并返回这些幂次的乘积。
int calF(int m) {
int cum = 1;
int s[MaxSize], top = -1;
while (m != 0) {
s[++top] = m;
m /= 3;
}
while (top != -1) {
cum *= s[top--];
}
return cum;
}