编写程序,使用指针实现从字符串中提取数字部分,存放到另一个字符串中,例如,输入的字符串是"Ab4c7de8",则提取结果是"478"。c++ 指针
时间: 2024-03-20 15:45:24 浏览: 7
好的,这是一个简单的指针应用题目,可以使用指针来遍历字符串中的每个字符,判断是否是数字字符,如果是,则将其存放到另一个字符串中,以下是C++的代码示例:
```c++
#include <iostream>
#include <cstring>
using namespace std;
int main()
{
char str[] = "Ab4c7de8";
char numStr[20];
int index = 0;
for (char *p = str; *p != '\0'; p++)
{
if (*p >= '0' && *p <= '9')
{
numStr[index] = *p;
index++;
}
}
numStr[index] = '\0';
cout << numStr << endl;
return 0;
}
```
输出结果为:478
相关问题
用C语言写一个程序,由用户输入字符串,使用指针输出字符串中的数字字符
好的,下面是一个用指针输出字符串中数字字符的 C 语言程序,由用户输入一个字符串:
```c
#include <stdio.h>
int main() {
char str[100];
printf("请输入一个字符串:");
scanf("%s", str);
char *p = str;
while (*p != '\0') {
if (*p >= '0' && *p <= '9') {
printf("%c", *p);
}
p++;
}
return 0;
}
```
首先,我们定义了一个字符数组 `str`,用来存储用户输入的字符串。然后,我们使用 `printf` 函数提示用户输入一个字符串,并使用 `scanf` 函数接收用户的输入,将其存储到 `str` 中。接下来,我们定义了一个指针 `p`,指向字符串的第一个字符。然后,我们使用 `while` 循环遍历整个字符串,如果当前字符是数字字符,则输出它。在循环过程中,我们每次将指针 `p` 向后移动一位,直到指向字符串的结尾(即 `\0`)为止。
运行程序,输入字符串 `Hello123World456!`,输出为:
```
123456
```
希望这个程序能够帮助到你!
编写一个程序,使用指针从标准输入中读取一组字符串,并检查是否有重复的字符串
好的,我会帮你编写一个 C++ 程序来实现这个功能。以下是代码:
```cpp
#include <iostream>
#include <string>
#include <unordered_set> // 使用 unordered_set 容器来检查重复字符串
int main() {
std::unordered_set<std::string> string_set; // 用来存储读入的字符串
std::string input_str; // 用来存储从标准输入读入的字符串
std::cout << "请输入一组字符串(以空格分隔):" << std::endl;
while (std::cin >> input_str) { // 不断读入字符串
if (string_set.count(input_str)) {
std::cout << "存在重复的字符串:" << input_str << std::endl;
return 0;
} else {
string_set.insert(input_str); // 将读入的字符串插入到 unordered_set 容器中
}
}
std::cout << "没有重复的字符串" << std::endl;
return 0;
}
```
该程序使用了 `std::unordered_set` 容器来存储读入的字符串,并检查是否有重复的字符串。在读入每个字符串时,程序会判断该字符串是否已经存在于 `string_set` 容器中,如果是,则说明存在重复的字符串,否则将该字符串插入到容器中。如果所有的字符串都已经读取完毕,仍然没有检测到重复的字符串,则说明输入的字符串中没有重复的字符串。