用C++写一个程序,用一个char型指针,两个int型指针,对键盘输入的包含数字,非数字字符,空格等的字符串中连续的数字做为一个整数,依次在一维数组中存放这些数,统计有多少个整数,并输出这些数
时间: 2024-01-07 09:04:22 浏览: 76
好的,以下是你的要求的 C++ 程序:
```cpp
#include <iostream>
#include <cstring>
using namespace std;
int main() {
char input[100];
int numbers[100];
char* p_input = input;
int* p_numbers = numbers;
int count = 0;
cout << "请输入包含数字、非数字字符和空格的字符串:" << endl;
cin.getline(input, 100);
while (*p_input != '\0') {
if (*p_input >= '0' && *p_input <= '9') {
int num = 0;
while (*p_input >= '0' && *p_input <= '9') {
num = num * 10 + *p_input - '0';
p_input++;
}
*p_numbers = num;
p_numbers++;
count++;
}
else {
p_input++;
}
}
cout << "输入的整数为:";
for (int i = 0; i < count; i++) {
cout << numbers[i] << " ";
}
cout << endl;
cout << "共有 " << count << " 个整数" << endl;
return 0;
}
```
程序的基本思路是:使用 char 指针遍历输入的字符串,如果遇到数字,就将连续的数字转换成整数并存入一个 int 数组中,同时计数器加 1。最终输出这些整数和整数的个数。
阅读全文
相关推荐
![](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)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)