输入要求 输入一行字符,字符包括'+'、'-'两种,字符间无空格,遇字符'0'结束。 输出要求 根据输入行对应位置的字符,计算本行的对应字符并输出,字符间无空格,输出后换行
时间: 2024-02-26 10:58:51 浏览: 19
以下是使用 C 语言实现的代码:
```c
#include <stdio.h>
char multiply(char *s) {
int len = strlen(s);
char *stack = (char *)malloc(len * sizeof(char));
int top = -1;
for (int i = 0; i < len; i++) {
if (s[i] == '+' || s[i] == '-') {
stack[++top] = s[i];
} else if (s[i] == '*') {
char a = stack[top--];
char b = stack[top--];
if (a == b) {
stack[++top] = '+';
} else {
stack[++top] = '-';
}
}
}
char result = stack[top];
free(stack);
return result;
}
int main() {
char s[100];
while (scanf("%s", s) != EOF) {
if (s[0] == '0') {
break;
}
printf("%c\n", multiply(s));
}
return 0;
}
```
每次读入一行字符,如果第一个字符是 '0' 就结束程序。否则,调用 `multiply` 函数计算结果并输出。注意,每个输出后都要换行。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)