输入一个字符串。内有数字和非数字字符,例如: A23h789r0 将其中连续的数字作为一个整数,依次存放到一维 数组中。例如 23 放在 a[0], 789 放在 a[1]统计共有多少个整数,并输出这些数。用c语言写
时间: 2024-11-18 13:18:41 浏览: 41
postgresql 字符串函数
在C语言中,你可以通过遍历输入字符串并处理每个字符的方式来实现这个功能。这里是一个简单的示例代码:
```c
#include <stdio.h>
#include <ctype.h>
// 函数用于提取连续的数字并添加到结果数组中
void extractNumbers(char *str, int arr[], int *index) {
int num = 0;
while (*str != '\0') {
if (isdigit(*str)) { // 如果字符是数字
num = num * 10 + (*str - '0'); // 连接数字
} else { // 非数字字符,将之前的数字添加到数组并清零计数
if (num > 0) {
arr[*index] = num; // 存储数值
index++;
num = 0; // 重置计数
}
str++; // 移动到下一个字符
}
}
// 处理最后一个可能存在的数字
if (num > 0) {
arr[*index] = num;
index++;
}
}
int main() {
char input[] = "A23h789r0";
int arr[100]; // 假设最多只有100个整数
int index = 0, count = 0;
extractNumbers(input, arr, &index);
count = index;
printf("统计到 %d 个整数:\n", count);
for (int i = 0; i < count; i++) {
printf("%d ", arr[i]);
}
return 0;
}
```
这段代码首先定义了一个`extractNumbers`函数,它会查找字符串中的连续数字并将它们存储在数组中。然后在`main`函数里,我们创建了输入字符串、数组以及计数器,调用`extractNumbers`函数,并最后打印出找到的整数数量和所有整数。
阅读全文