用c语言实现。给定一行字符,字符仅包括+和-两种符号。将前后字符之间逐一进行乘法运算,输出运算结果。运算规则为:++得+,--得+,+-得-,-+得-。即减号和加号相乘为减号,加号乘加号或减号乘减号为加号,如-+或+-结果得-,++或—-结果得+。 显然,得到的结果将比运算前少一个字符。 输入要求 输入一行字符,字符包括'+'、'-'两种,字符间无空格,遇字符'0'结束。 输出要求 根据输入行对应位置的字符,计算本行的对应字符并输出,字符间无空格,输出后换行
时间: 2024-02-26 12:58:34 浏览: 18
以下是C语言实现的代码:
```c
#include <stdio.h>
#include <string.h>
int main() {
char s[101]; // 定义一个字符数组,用于存储输入的一行字符
fgets(s, sizeof(s), stdin); // 读入一行字符
while (s[0] != '0') { // 当输入为0时结束程序
char result[101] = ""; // 定义一个字符数组,用于存储结果
for (int i = 0; i < strlen(s) - 1; i++) { // 遍历每个相邻字符
if (s[i] == s[i+1]) { // 相邻字符相同
if (s[i] == '+') {
strcat(result, "+");
} else {
strcat(result, "-");
}
} else { // 相邻字符不同
strcat(result, "-");
}
}
printf("%s\n", result); // 输出结果并换行
fgets(s, sizeof(s), stdin); // 继续读入下一行字符
}
return 0;
}
```
例如,输入`-+-+-+\n0`,输出为:
```
--
+-
--
+-
+-
```
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.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)