输入一个多操作数的表达式(字符数不超过80,用字符数据存储),将其中的操作数提取出来,存入一个整型数组,然后输出该数组)
时间: 2023-05-28 09:08:05 浏览: 91
这道题需要我们对字符串进行解析,提取其中的数字,将其转换为整型存入数组中。具体实现步骤如下:
1.定义一个整型数组num,用于存储提取出来的操作数。
2.遍历字符串的每个字符,判断当前字符是否为数字。如果是数字,则继续向后遍历,将所有连续的数字字符组成的字符串转换为整型存入num数组中。
3.输出num数组。
以下是完整代码实现:
```python
#include <iostream>
using namespace std;
int main() {
char str[81];
int num[20] = {0};
cin >> str;
int len = strlen(str);
int cnt = 0; // 记录num数组中已存储的数字个数
for (int i = 0; i < len; i++) {
if (isdigit(str[i])) { // 判断当前字符是否为数字
int j = i;
int cur_num = 0;
while (isdigit(str[j])) { // 将所有连续的数字字符组成的字符串转换为整型
cur_num = cur_num * 10 + (str[j] - '0');
j++;
}
num[cnt++] = cur_num; // 将提取出来的数字存入num数组中
i = j - 1; // 更新i的值,跳过已经提取的数字字符
}
}
for (int i = 0; i < cnt; i++) { // 输出num数组中存储的操作数
cout << num[i] << " ";
}
cout << endl;
return 0;
}
```
测试样例:
输入:3+4*5-6/2
输出:3 4 5 6 2
阅读全文
相关推荐















